如何在不评估其值的情况下将变量写入nodejs中的JS文件

时间:2018-11-21 10:35:26

标签: node.js

如何使用node.js将变量写入JS文件?

假设我有以下代码:

function openPage(pageName) {
    window.location.href = 'melt://navigatetoitem:' + pageName + '.html';
}

我只需要替换下面的代码行:

window.location.href = 'melt://navigatetoitem:' + pageName + '.html';

当然,我现在可以使用ES6模板并做类似的事情:

`window.location.href = melt://navigatetoitem: ${pageName} .html`;

但是随后pageName将被求值,并且不再是变量pageName

我将以上行存储在变量inner_content中,然后将其写到JS文件中,如下所示:

let inner_content =  `window.location.href = melt://navigatetoitem: ${pageName} .html`;
fs.writeFileSync( path_Url , inner_content , 'utf-8'); // path_Url is the path of my js file.

那么我该如何向我的JS文件中写入一个变量?

2 个答案:

答案 0 :(得分:2)

如果我说对了,这就是您的方法

let inner_content =  '`window.location.href = melt://navigatetoitem: ${pageName} .html`';

fs.writeFileSync( path_Url , inner_content , 'utf-8');

只需将模板用单引号或双引号引起来即可。

答案 1 :(得分:1)

我使用了一些荒谬的解决方案,尽管如此,但下面的代码仍然有效:

elem.toString().replace( /window.location.href/g , 'document.location' )
               .replace( /melt:\/\/navigatetoitem:/g , '')
               .replace( /.html/g , '.zip');