gpt4 book ai didi

webpack - vuejs + babel-loader this.setDynamic 不是函数

转载 作者:行者123 更新时间:2023-12-04 18:56:10 24 4
gpt4 key购买 nike

我的代码有一些问题。我正在尝试将 babel-loader 添加到我的 laravel-mix webpack 的配置中,但我收到一条错误消息,告诉我 this.setDynamic 不是一个函数。

这是我的 webapack-mix.js 文件

const {mix} = require('laravel-mix');
const VueLoaderPlugin = require('vue-loader/lib/plugin')
/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/
mix.webpackConfig({
module: {
rules: [
// We're registering the TypeScript loader here. It should only
// apply when we're dealing with a `.ts` or `.tsx` file.
{
test: /\.tsx?$/,
loader: 'ts-loader',
options: {appendTsSuffixTo: [/\.vue$/]},
exclude: /node_modules/,
},
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
plugins: ["@babel/plugin-transform-runtime"],
}
},

}
],
},
plugins: [
// make sure to include the plugin!
new VueLoaderPlugin()
],
resolve: {
// We need to register the `.ts` extension so Webpack can resolve
// TypeScript modules without explicitly providing an extension.
// The other extensions in this list are identical to the Mix
// defaults.
extensions: ['*', '.jsx', '.vue', '.ts', '.tsx', '.js'],
},
});

mix.sass('resources/sass/app.scss', 'public/css')
.sass('resources/sass/admin.scss', 'public/css')
.ts('resources/js/src/app.ts', 'public/js')
.ts('resources/js/src/Admin/admin.ts', 'public/js')

当我运行我的开发服务器时,我收到了这个错误
enter image description here

有没有人有解决方案?我在互联网上做了很多研究,但没有任何效果

最佳答案

Laravel 5.4.x 遇到了类似的问题,并在尝试和错误切换模块版本后设法解决它。

包.json

{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"@babel/core": "^7.1.2",
"axios": "^0.16.2",
"babel-loader": "^7.1.5",
"babel-plugin-dynamic-import-webpack": "^1.1.0",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-preset-es2015": "^6.24.1",
"bootstrap-sass": "^3.3.7",
"cross-env": "^5.0.1",
"css-loader": "^0.28.11",
"jquery": "^3.1.1",
"laravel-mix": "^1.0",
"lodash": "^4.17.10",
"vue": "^2.5.22",
"vue-loader": "^13.7.3",
"vue-style-loader": "^3.1.2",
"vue-template-compiler": "^2.5.22"
},
"dependencies": {
"vee-validate": "^2.1.0-beta.1",
"vue-click-outside": "^1.0.7",
"vue-content-loading": "^1.5.3",
"vue-multiselect": "^2.1.3",
"yarn": "^1.9.4"
}
}

webpack.mix.js
let mix = require('laravel-mix');
/**
* Override Laravel Mix Webpack Configuration
* @type {{chunkFilename: string, publicPath: string}}
*/
mix.config.webpackConfig.output = {
chunkFilename: 'js/[name].bundle.js',
publicPath: '/',
};

mix.js('resources/assets/js/app.js', 'public/js')

.babelrc
{
"presets": [
[
"es2015",
{
"modules": false
}
]
],
"plugins": ["syntax-dynamic-import"]
}

关于webpack - vuejs + babel-loader this.setDynamic 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52901717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com