vue引入第三方js时,报严格模式错误的解决方法

mui.js:3493 Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them
    at Function.Class.extend (mui.js:3493)
    at eval (mui.js:3710)
    at eval (mui.js:4636)
    at Object../src/lib/mui/js/mui.js (bundle.js:2878)
    at __webpack_require__ (bundle.js:724)
    at fn (bundle.js:101)
    at eval (photolist.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options:7)
    at Object../node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/photo/photolist.vue?vue&type=script&lang=js& (bundle.js:900)
    at __webpack_require__ (bundle.js:724)
    at fn (bundle.js:101)

 

 

主要是因为引入的第三方js使用了非严格模式,而webpack在打包的时候默认使用的是严格模式,这个时候就需要更改webpack在打包的时候也使用非严格模式

 

方法如下:

1、安装npm包

Installation

$ npm install babel-plugin-transform-remove-strict-mode
2、修改配置(共有三种环境配置,根据自己的情况选择)

如果使用的是 .babelrc (Recommended)

.babelrc

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

如果使用的是 CLI

$ babel --plugins transform-remove-strict-mode script.js

如果使用的是 Node API

require("babel-core").transform("code", {
  plugins: ["transform-remove-strict-mode"]
});
白发渔樵

白发渔樵

发表评论

电子邮件地址不会被公开。 必填项已用*标注