fis3-parser-translate-es6 插件如何支持preset-env

文件结构如下

clipboard.png

package.json

{
  "name": "efm3",
  "version": "3.0.0",
  "main": "fis-conf.js",
  "dependencies": {},
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-preset-env": "^1.6.1",
    "fis3-parser-translate-es6": "^1.0.1"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "abc",
  "license": "ISC"
}

.babelrc

{
    "presets": [
      "env"
    ],
    "plugins": []
}

fis-conf.js

fis.match('*', {
    deploy: [
        fis.plugin('local-deliver') //must add a deliver, such as http-push, local-deliver
    ]
})
fis.match('**.es', {
    parser: fis.plugin('translate-es6'),
    rExt: '.js' // .es 最终修改其后缀为 .js
});

x.es

const a = {x:10,y:20};
const b = {y:15,z:30};

const c = {...a , ...b};

问题描述
无法编译es6以上(不含es6)的ECMA语法

clipboard.png

clipboard.png

疑惑
所谓的translate-es6插件也只是简单的调了一下babel-core
我.babelrc设成env 也下了babel-preset-env为什么还是无效

阅读 3.5k
1 个回答

这个和fis3没什么关系
主要这个对象展开符是在stage-2阶段的
所以你的要.babelrc要改成如下造型

{
    "presets": [
      "env",
      "stage-2"
    ],
    "plugins": []
}

当然还要再装个stage-2的包

npm install babel-preset-stage-2 --save--dev
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进