我正在尝试在laravel混合项目中使用vuex-module-decorators库(使用打字稿)。但是我不断收到错误Uncaught TypeError: Class constructor VuexModule cannot be invoked without 'new'
。这似乎是known issue,可以通过在我的transpileDependencies: ['vuex-module-decorators']
文件中添加vue.config.js
来解决,这将告诉babel打包该软件包。
由于我使用的是laravel mix,因此添加vue.config.js
文件不会执行任何操作。而且我不知道如何告诉laravel mix转换vuex-module-decorators
依赖项。
我尝试将{ test: /\.js$/, loaders: ['babel-loader'] },
添加到webpack.mix.js
中的webpack配置中(还显式包括了依赖项),但是它不起作用。
那么我如何告诉laravel mix转换vuex-module-decorators依赖关系(到es5)?
如果有帮助,这是我的webpack.mix.js
文件:
mix
.ts('resources/ts/app.ts', 'public/js')
.stylus('resources/stylus/app.styl', 'public/css');
答案 0 :(得分:0)
我能够将babel-loader
指向所有.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$/,
答案 1 :(得分:0)
我发布了Laravel Mix扩展,用于处理// Transpile all node_modules dependencies
mix.transpileNodeModules()
// Transpile selected dependencies
mix.transpileNodeModules(['swiper', 'dom7'])
依赖项Laravel Mix Transpile Node Modules的反汇编。
SUMMARY = "V4L2Loopback"
DESCRIPTION = "v4l2loopback module"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
# Use local tarball
SRC_URI = "file://v4l2loopback-master.tar.gz"
# Make sure our source directory (for the build) matches the directory structure in the tarball
S = "${WORKDIR}/v4l2loopback-master"
inherit module
KERNEL_MODULE_AUTOLOAD = "v4l2loopback"