mai*_*mic 69 javascript node.js ecmascript-6 babeljs
我用的是需要挂钩的BabelJS(原名6to5)与运行节点的应用程序es6features:
// run.js
require("babel/register");
require("./app.js6");
Run Code Online (Sandbox Code Playgroud)
我打电话node run.js
来运行我的app.js6.我需要安装BabelJS并提供run.js每个我想使用es6features项目.我更喜欢这样的电话nodejs6 app.js6
.如何独立实现此系统(Unix和Windows)?
Xåp*_* - 129
将babel-cli
and babel-preset-es2015
(又名ES6)依赖项添加到应用程序的package.json文件并定义start
脚本:
{
"dependencies": {
"babel-cli": "^6.0.0",
"babel-preset-es2015": "^6.0.0"
},
"scripts": {
"start": "babel-node --presets es2015 app.js"
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您只需执行以下命令即可运行您的应用:
npm start
Run Code Online (Sandbox Code Playgroud)
如果你决定停止使用Babel(例如,一旦Node.js支持所有ES6功能),你可以从package.json中删除它:
{
"dependencies": {},
"scripts": {
"start": "node app.js"
}
}
Run Code Online (Sandbox Code Playgroud)
这样做的一个好处是运行您的应用程序的命令保持不变,这有助于您与其他开发人员合作.
Mac*_*ora 36
如何在文件更改时配置带有es6支持和服务器重新加载的node.js应用程序.
1.进入您的项目主目录的终端
npm init
//为项目创建package.json
2.安装依赖项
npm install --save-dev babel
npm install --save-dev babel-cli
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-stage-0 //*1
npm install --save-dev nodemon
Run Code Online (Sandbox Code Playgroud)
1 - 它也可以是阶段1或2,它取决于我们想要使用的es的哪些特征
3.我们应该在package.json文件中有这样的东西(确定包版本会有所不同,但没关系):
"devDependencies": {
"babel": "^6.5.2",
"babel-cli": "^6.16.0",
"babel-preset-es2015": "^6.16.0",
"babel-preset-stage-0": "^6.16.0",
"nodemon": "^1.11.0"
}
Run Code Online (Sandbox Code Playgroud)
4.在根项目目录中创建.babelrc文件(有package.json文件)
{
"presets": ["es2015", "stage-0"]
}
Run Code Online (Sandbox Code Playgroud)
5.创建两个目录:
src - 这是工作目录,其中包含在es6中编写的文件
dist - 这里的文件将使用babel编译为es5
您的项目根目录应如下所示:
7.添加到package.json所需的命令:
"scripts": {
"watch": "babel -w src/ -d dist/",
"build": "babel src/ -d dist/",
"serve": "babel -w src/ -d dist/ | nodemon --watch dist",
"test": "echo \"Error: no test specified\" && exit 1"
}
Run Code Online (Sandbox Code Playgroud)
8.Available命令:
npm run watch
//开始观察src目录中的监视更改并编译成dist
npm run build
//将文件从src目录编译为dist
npm run serve
//它正在做watch + start node server,在每个文件上更改它将使用nodemon重新启动节点服务器,这正在监视dist目录的更改
9.Final notes
10.运行服务器并开始在src目录中创建应用程序.
npm run serve
Run Code Online (Sandbox Code Playgroud)
如果它对你来说太多了,那么github上提供了完整的woking样板 - https://github.com/maciejsikora/node-express-babel-boilerplate.
Saf*_*afi 16
您可以使用带有--harmony标志的节点来运行带有es6功能的脚本
您需要安装babel-register
和babel-preset-es2015
预设其中用成babel-register
选项来启用转换ES6
到ES5
对即时transpilation
npm install babel-register
npm install babel-preset-es2015
Run Code Online (Sandbox Code Playgroud)
你的run.js文件:
// require babel-register and set Babel presets options to es2015
require('babel-register')({
presets: [ 'es2015' ]
});
require("./app.js6");
Run Code Online (Sandbox Code Playgroud)
注意:现在您不需要.babelrc
文件来设置Babel presets
选项我们使用require
方法设置它
node -r babel-register scripts.js
这是最好的解决方案
npx babel-node scripts.js
!Babel节点在退出过程中不能正常工作,kexec
在这种情况下包也没有帮助(我试过)
在这两种情况下,您都需要使用.babelrc
哪个应该为您的应用描述预设和插件.
npx
仅用于执行未安装的库npm
或yarn
.否则你需要npm i -g babel-cli
然后babel-node script.js
归档时间: |
|
查看次数: |
81611 次 |
最近记录: |