[vue问题解决]vue-cli项目引用mui.js报错Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be...

摘要:
通过修改eslintignor文件,将对应目录下的js忽略即可方案二移除严格模式:npmibabel-plugin-transform-remove-strict-mode-D.babelrc添加transform-remove-strict-mode"plugins":["transform-vue-jsx","transform-runtime","transform-remove-strict-mode"]以上解决方案用到我的vue-cli项目中会报错:"export'default'wasnotfoundin'../../assets/lib/mui/js/mui.js'但同一个例子没用vue-cli,用方案二却完美解决。补充也有看到博主说添加transform-remove-strict-mode并将transform-runtime移除。个人觉得用ignore只是忽略了指定第三方js的转码,如果移除了transform-runtime,这就相当于移除了一个项目的代码转换插件,嗯,做的很绝啊。关于babel将高级语法转为ES5,推荐看一下:Babel之babel-polyfill、babel-runtime、transform-runtime详解

引用mui.js

[vue问题解决]vue-cli项目引用mui.js报错Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be...第1张

报错信息:

Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them

方案一

原因:babel在将js文件转码为ES5时,默认使用严格模式,而在严格模式下,为了安全起见是不能用caller,callee,arguments等属性的。

解决:修改bablerc文件的配置,让项目忽略mui.js的转码,完美解决我的问题

"ignore": [
    "./src/assets/lib/mui/js/mui.js"
  ]

此外,如果设置了语法检查,也会各种检查第三方js的语法错误,从而报错。通过修改eslintignor文件,将对应目录下的js忽略即可

方案二

移除严格模式:

npm i babel-plugin-transform-remove-strict-mode -D

.babelrc添加transform-remove-strict-mode

"plugins": [
   "transform-vue-jsx",
   "transform-runtime",  
   "transform-remove-strict-mode"
 ]

以上解决方案用到我的vue-cli项目中会报错:"export 'default' (imported as 'mui') was not found in '../../assets/lib/mui/js/mui.js'

但同一个例子没用vue-cli,用方案二却完美解决。

补充

也有看到博主说添加 transform-remove-strict-mode 并将 transform-runtime 移除。个人觉得用 ignore 只是忽略了指定第三方js的转码,如果移除了 transform-runtime,这就相当于移除了一个项目的代码转换插件,嗯,做的很绝啊。

关于babel将高级语法转为ES5,推荐看一下:Babel之babel-polyfill、babel-runtime、transform-runtime详解

免责声明:文章转载自《[vue问题解决]vue-cli项目引用mui.js报错Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be...》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇esxi安装windows10C# DataGridView控件用法大全下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CSS3实现魔方动画

本文将借助css3实现魔方动画效果,设计思路如下:   HTML方面采用六个div容器形成六个立方面;   CSS方面采用transform-style:preserve-3d;形成三维场景;transform:rotateX(-90deg) translateZ(150px);实现立方面旋转组成立方体;animation: rotate 10s lin...

vue项目搜索历史功能的实现

播放器项目中歌曲搜素页面的 首先需要在state定义搜索历史,在其中保存搜索历史 state.js:// 搜索历史: searchHistory: []  mutations中新增改变搜索历史的方法 mutations.js:SET_SEARCH_HISTORY(state, history) { state.searchHistory = hi...

修改ElementUI的样式----vue如何控制步骤条steps圆圈的大小 data-v-

1、问题 使用 vue 时写发现某些样式不生效,怎么都不生效, 不过将style 中的 scoped 去掉后,居然生效了。但是一般都应该加上scoped,那该如何处理呢? <template> <div class="app-container"> <heads /> <div c...

Vue国际化三【在下拉框中使用】

select 内容国际化 <myForm :form-config="formConfig" :filters="filters" @handleChage="handleSearch" @handleSearch="handleSearch" /> computed: {...

vue中使用keepAlive(缓存页面&amp;amp;记忆上次浏览位置)及使用后生命周期的改变

以下部分内容转自博客(另外配有自己见解):https://www.cnblogs.com/nokelong/p/8116631.html 使用keepAlive缓存页面,一可以减少服务器请求次数,二则可以在用户返回上一页后记忆到上次浏览位置(ios端微信浏览器不适用,不兼容,需要另行配置:见例子(1)) keep-alive的介绍如下: 1,把切换出去的组...

基于vue实现搜索高亮关键字

有一个需求是在已有列表中搜索关键词,然后在列表中展示含有相关关键字的数据项并且对关键字进行高亮显示,所以该需求需要解决的就两个问题: 1.搜索关键词过滤列表数据 2.每个列表高亮关键字 ps: 此问题基于数组对象,其他数据类型也可参考此思路。 关键词搜索:过滤数据很简单,无非就是监听search,对源数据过滤即可,贴一下代码: 1 const search...