有人可以帮我运行一个具有ES6功能的node.js文件吗?这是我目前的工作流程:在文件 如何在mac上运行node.js ES6文件
npm run build
- 保存变化---建立文件到我的
src/dist
文件夹 cd
到我dist
目录node
var file = require('./index.js')
file.someMethod()
然后当我改变我的方法时,我需要重复上述所有步骤。
有谁知道一个更有效的方式来做到这一点?
在此先感谢!
有人可以帮我运行一个具有ES6功能的node.js文件吗?这是我目前的工作流程:在文件 如何在mac上运行node.js ES6文件
npm run build
src/dist
文件夹cd
到我dist
目录node
var file = require('./index.js')
file.someMethod()
然后当我改变我的方法时,我需要重复上述所有步骤。
有谁知道一个更有效的方式来做到这一点?
在此先感谢!
你不如果你不使用导入/导出需要什么。只需安装节点8.x,然后运行node my_file.js
。 Nodejs支持大部分开箱即用的es6功能。
如果你想使用导入/导出,那么我会建议使用打字稿:https://www.typescriptlang.org/。它具有编译器TS(静态类型ES6)到ES5。
哦,当然都巴贝尔和打字稿有观察家模块(在文件更改自动重新编译)。我刚刚升级到 -
喜的可能的复制节点8.0.0 ..我通过运行'node -v'来验证版本。但是,我仍然得到'SyntaxError:意外的令牌导入' –
那就是我说的,它支持所有es6,EXCEPT导入/导出。我个人使用打字稿,并建议你也这样做,但如果你不想要,那么就使用babel。 –
我也更喜欢打字稿tbh,但我不知道在repl中使用TS的简单方法,所以我建议babel-cli完全是因为我知道你可以将它作为repl发布。一个快速的谷歌确实会提出[this(ts-node)](https://www.npmjs.com/package/ts-node),但也许这也可以。 – Chev
这真的取决于npm run build
在你的应用程序实际上不会。它运行吞咽/咕噜声吗?的WebPack?等等。如果它是webpack,那么你应该研究一下webpack-dev-server。
如果是咕噜吞下还是那么你有,你正在使用一个自定义生成链。如果您只需要支持es6功能而无需构建项目,那么您可以使用简单的东西,例如babel-cli,并从dist
目录之外运行您的文件。
$ npm i -g babel-cli
$ babel-node
> var file = require('./index.js');
> file.someMethod()
通过运行babel-node
你正在运行正常的节点REPL但巴贝尔需要。现在应该可以在repl中支持Es6功能,而无需编译为es5。
您可能还想尝试更新到最新版本的节点,因为节点8具有相当广泛的es6支持。
[?如何修改文件后重新编译的WebPack(https://stackoverflow.com/questions/34499390/how-to-recompile-webpack-after-changing-files) –