首页  >  问答  >  正文

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

webpack打包遇到一个问题

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

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

巴扎黑巴扎黑2749 天前1689

全部回复(2)我来回复

  • 黄舟

    黄舟2017-04-10 17:53:50

    应该是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...

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-10 17:53:50

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

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

    回复
    0
  • 取消回复