前段时间修改了一个tinymce文本编辑器的npm包,发布后有网友反馈包里面的代码报错,查看后发现当时写功能的时候使用了es6的...扩展运算符,然后那个网友使用的是vue-cli2的脚手架,所以第一反应就是进到build文件夹下修改webpack.base.conf.js如下:
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client'), resolve('node_modules/tinymce-imageupload')]
},
将npm包(tinymce-imageupload)手动include进来,原本以为问题就此解决了,不过运行起来依然报错
感觉是手动include进去的配置修改没有生效,为了测试,专门把webpack.base.conf.js中resolve('src')配置删除
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('test'), resolve('node_modules/webpack-dev-server/client'), resolve('node_modules/tinymce-imageupload/js')]
}
然后在src/main.js文件中加上扩展运算符的测试代码
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import ElementUI from 'element-ui'
import "babel-polyfill"
import 'element-ui/lib/theme-chalk/index.css'
import './common/css/element-modify.css'
import './common/css/reset.css'
import App from './App'
import router from './router'
import store from './store'
import api from './api/jiekou'
Vue.config.productionTip = false
Vue.prototype.$api = api
Vue.use(ElementUI)
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
store,
components: { App },
template: '<App/>'
})
// 扩展运算符测试代码
const options = {
naem: 'Xx'
}
const {name} = {...options}
运行后项目正常报错了:
将src的配置include回去后项目正常跑起来了:
所以有个疑惑,为什么node_module的编译配置没有生效?求解答