我用的是需要挂钩的BabelJS(原名6to5)与运行节点的应用程序es6features:
// run.js
require("babel/register");
require("./app.js6");
我打电话node run.js
来运行我的app.js6。我需要安装BabelJS并为每个我想使用es6features的项目提供一个run.js。我希望打个电话nodejs6 app.js6
。如何独立实现该系统(Unix和Windows)?
我用的是需要挂钩的BabelJS(原名6to5)与运行节点的应用程序es6features:
// run.js
require("babel/register");
require("./app.js6");
我打电话node run.js
来运行我的app.js6。我需要安装BabelJS并为每个我想使用es6features的项目提供一个run.js。我希望打个电话nodejs6 app.js6
。如何独立实现该系统(Unix和Windows)?
babel-node
吗?babeljs.io/docs/usage/cli/#babel-node
Answers:
将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"
}
}
然后,您只需执行以下命令即可运行您的应用程序:
npm start
如果您决定停止使用Babel(例如,一旦Node.js支持所有ES6功能),则可以将其从package.json中删除:
{
"dependencies": {},
"scripts": {
"start": "node app.js"
}
}
这样的好处之一是,运行您的应用程序的命令保持不变,这在您与其他开发人员一起工作时会有所帮助。
nodemon
或他人与您的设置?在开发过程中每次更改文件时,是否真的手动重新加载服务器?
babel-cli
和preset-env
安装,并直接,如果你喜欢的东西(W / O型NPM运行...和的package.json编辑需要)(从项目的根颁发)的命令是:$> ./node_modules/.bin/babel-node yourToolhere.js
如何配置具有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
1-也可以是Stage-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"
}
4.在根项目目录中创建.babelrc文件(有package.json文件)
{
"presets": ["es2015", "stage-0"]
}
5.创建两个目录:
src-这是包含在es6中写入的文件的工作目录
DIST -这里的文件将编译使用通天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"
}
8,可用命令
npm run watch
//在src目录中启动watch watch更改并编译为dist
npm run build
//将文件从src目录编译到dist
npm run serve
//它正在执行watch +启动节点服务器,每更改文件,它将使用nodemon重新启动节点服务器,该节点正在监视dist目录更改
9,最后的笔记
10.运行服务器并开始在src目录中创建应用。
npm run serve
如果对您来说太多了,那么可以在github- https://github.com/maciejsikora/node-express-babel-boilerplate上找到完整的炒作样板。
您可以使用带有--harmony标志的node来运行具有es6功能的脚本
您需要安装babel-register
并babel-preset-es2015
预设babel-register
将“启用”选项中使用的选项转换ES6
为ES5
即时移植
npm install babel-register
npm install babel-preset-es2015
您的run.js文件:
// require babel-register and set Babel presets options to es2015
require('babel-register')({
presets: [ 'es2015' ]
});
require("./app.js6");
注意:现在您不需要.babelrc
文件来设置Babel presets
选项,因为我们使用require
方法设置它
node.js
不支持的版本ES6
(小于4.x版本),现在的node.js
版本支持 ES6
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