.babelrc ignore忽略js无效

新手,见谅。

1.问题:
webpack + vue-cli项目,使用babel转义es6,其中我有一个js采用了老式的写法,比如这种:

delete obj;

严格模式下会webpack会报错,所以修改babel配置文件 .babelrc,用ignore忽略这个js文件,但是无效

2.代码:
.babelrc

{
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins": ["transform-vue-jsx", "transform-runtime"],
  "env": {
    "test": {
      "presets": ["env", "stage-2"],
      "plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
    }
  },
  "ignore":[
    "./src/assets/alerter.js"
  ]
}

我自己添加了最后一个ignore,其他都是原有的

3.报错:
npm run dev 后的结果,还是提示在严格模式下转义
图片描述

4.尝试
插件去除strict-mode
先:npm install babel-plugin-transform-remove-strict-mode --save-dev
然后:.babelrc中

"plugins": [
  "transform-remove-strict-mode"
]

如下:

 

  {
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins": ["transform-vue-jsx", "transform-runtime","transform-remove-strict-mode"],
  "env": {
    "test": {
      "presets": ["env", "stage-2"],
      "plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
    }
  },
  "ignore":[
    "./src/assets/qksheet/alerter.js"
  ]
}

报错依旧

说明:老代码设计面太大,不到万不得已先不考虑改动。原先不用webpack工具可正常运行。
感谢感谢!

阅读 6.1k
1 个回答

看起来你把这个JS自行包装成了ES6模块, 而 ES6 的模块自动采用严格模式; 忽略没有用;

别包装成ES6模块了, 单独把这个JS拎出来, 页面上单独引用

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