es7如何跑起来装饰器

  • A+
所属分类:Web前端
摘要

今天学习es7新特性装饰器时,代码提示语法错误,babel照着以前的方法转码也不成功,故写下此文谈谈如何解决

今天学习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")