- A+
所属分类:Web前端
今天学习es7新特性装饰器时,代码提示语法错误,babel照着以前的方法转码也不成功,故写下此文谈谈如何解决
大致步骤如下:
1.安装babel转码工具
2.安装第三方插件,用于支持decorators
3.配置jsconfig.json解决vscode提示语法错误
4.babel打包成功运行
注:我这里没有配置.babelrc文件
1,2.npm install babel-cli babel-plugin-transform-decorators-legacy babel-register --save-dev
3.jsconfig.json
{ "compilerOptions": { "experimentalDecorators": true } }
4.package.json
{ "name": "test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1", "build": "babel --plugins transform-decorators-legacy src -d lib" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "babel-plugin-transform-decorators-legacy": "^1.3.5", "babel-register": "^6.26.0" }, "dependencies": { "babel-cli": "^6.26.0" } }
最后执行打包命令:npm run build
,即可成功打包代码,并且可在node环境下运行
运行也可使用require,不过还是建议使用上面那种
require('babel-register')({ plugins: ['transform-decorators-legacy'] }); require("./input.js")