我正在尝试使用vuex 模块装饰器 https://github.com/championswimmer/vuex-module-decoratorsLaravel Mix 项目中的库(使用 TypeScript)。但我不断收到错误Uncaught TypeError: Class constructor VuexModule cannot be invoked without 'new'
。这似乎是一个已知问题 https://github.com/championswimmer/vuex-module-decorators/issues/11并可以通过添加来解决transpileDependencies: ['vuex-module-decorators']
to my vue.config.js
文件将告诉 babel 转译包。
由于我使用的是 laravel mix,因此添加vue.config.js
文件不执行任何操作。我不知道如何告诉 laravel mix 转译vuex-module-decorators
依赖性。
我尝试添加{ test: /\.js$/, loaders: ['babel-loader'] },
到 webpack 配置中webpack.mix.js
(也明确包含依赖项)但它不起作用。
那么我如何告诉 laravel mix 转译 vuex-module-decorators 依赖项(到 es5)?
如果有帮助的话,这是我的webpack.mix.js
file:
mix
.ts('resources/ts/app.ts', 'public/js')
.stylus('resources/stylus/app.styl', 'public/css');
我能够指出babel-loader
at all .js
文件并且有效:
// In webpack.mix.js
mix.webpackConfig({
module: {
rules: [{
test: /\.js?$/,
use: [{
loader: 'babel-loader',
options: mix.config.babel()
}]
}]
}
});
然而,如果使用更具体的,你的编译时间将会减少test
仅针对您需要转译的模块:
test: /node_modules\/(vuex-module-decorators|vuex-persist)\/.+\.js$/,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)