webpack 或者 js 怎么取消严格模式

webpack打包遇到一个问题

我这里用webpack打包一个js文件 用到了arguments.callee这个函数,但是webpack使用的是严格模式打包,所以这个js文件一直报错.(这个js文件中很多地方用到这个函数,所以不能改arguments.callee这个函数的)

所以这里知道有什么方法
1.怎么给js文件关闭严格模式
2.webpack打包的时候怎么禁用严格模式 或者 在给某个js文件打包的时候 给这个js文件禁用严格模式

阅读 32.3k
2 个回答

应该是babel造成的,以下为关闭strict mode的几种方式,你可以试试看:

1. babel5

babel: {
    options: {
        blacklist: ["useStrict"],
        // ...
    },
    // ...
}

2. babel6

修改.babelrc

略过模块:

{
  presets: [
    ["es2015", { "modules": false }]
  ]
}

略过某个文件:

{
  "presets": ["es2015"],
  "ignore": [
    "./src/js/directive/datePicker.js"
  ]
}

3. babel-plugin-transform-remove-strict-mode

加装这个外挂: https://www.npmjs.com/package...

其他参考:

http://stackoverflow.com/ques...

http://babeljs.io/docs/plugin...

https://github.com/shanggqm/b...

我来补充一点,es5你可以转,但

ES6的模块自动采用严格模式,不管你有没有在模块头部加上"use strict";

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