ruby-on-rails – 无法在Webpacker中的vuex突变测试中导入vue.es
发布时间:2020-12-16 21:08:07 所属栏目:百科 来源:网络整理
导读:我正在使用带有 this approach的Webpacker(要求我导入vue.esm.js).我想测试我在 testing vuex docs中描述的vuex突变.当我从’vue’使用import Vue时它可以工作,但是当我从’vue / dist / vue.esm’使用import Vue时不行.但是,如果我在商店中不使用vue.esm,我
我正在使用带有
this approach的Webpacker(要求我导入vue.esm.js).我想测试我在
testing vuex docs中描述的vuex突变.当我从’vue’使用import Vue时它可以工作,但是当我从’vue / dist / vue.esm’使用import Vue时不行.但是,如果我在商店中不使用vue.esm,我的Webpacker Vue应用程序会中断.
这是我的商店: // store.js import Vue from 'vue/dist/vue.esm' // changing this to import from 'vue' works import Vuex from 'vuex' Vue.use(Vuex) const state = { count: 0 } // export `mutations` as a named export export const mutations = { increment: state => state.count++ } export default new Vuex.Store({ state,mutations }) 这是我的测试: import { mutations } from './store' // destructure assign `mutations` const { increment } = mutations describe('mutations',() => { it('INCREMENT',() => { // mock state const state = { count: 0 } // apply mutation increment(state) // assert result expect(state.count).toBe(1) }) }) 以上测试结果如下: FAIL app/javascript/test/unit/specs/mutations.spec.js ● Test suite failed to run myproject/node_modules/vue/dist/vue.esm.js:10671 export default Vue$3; ^^^^^^ SyntaxError: Unexpected token export 我究竟做错了什么? 解决方法
不确定你是否解决了这个问题,但我遇到了同样的问题.
对我有用的是为’vue’使用别名. 与此处相同: https://github.com/rails/webpacker/blob/master/docs/webpack.md#configuration // custom.js const vueFile = process.env.NODE_ENV === 'production' ? 'vue/dist/vue.min.js' : 'vue/dist/vue.js'; module.exports = { resolve: { alias: { vue: vueFile,vue_resource: 'vue-resource/dist/vue-resource',},}; // environment.js const { environment } = require('@rails/webpacker'); const customConfig = require('./custom'); const vue = require('./loaders/vue'); environment.config.merge(customConfig); environment.loaders.append('vue',vue); module.exports = environment; 然后更新我的商店和应用程序JS中的导入(从’vue’导入Vue;),我们已经排序了! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |