问题(06)npm run build 报错

在使用Vue2.9.6和ElementUI的项目中,执行打包命令时遇到TypeError,涉及mini-css-extract-plugin和webpack的SplitChunksPlugin。错误源于不能读取某个属性。解决方案是将@vue/cli-service从3.5.3升级到4.0.3,并可能需要调整资源路径引用。更新依赖并执行npminstall和npmrunbuild来尝试解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

vue(2.9.6) + elementui


问题描述

例如:在执行打包命令时,报错

> vue-cli-service build --mode test
|  Building for test...D:\zjyc\PM\sxgy\project\admin-ls\node_modules\mini-css-extract-plugin\dist\index.js:77
    const resource = this._identifier.split('!').pop();
                                      ^
TypeError: Cannot read property 'split' of undefined
    at CssModule.nameForCondition (D:\zjyc\PM\sxgy\project\admin-ls\node_modules\mini-css-extract-plugin\dist\index.js:77:39)
    at Function.checkTest (D:\zjyc\PM\sxgy\project\admin-ls\node_modules\webpack\lib\optimize\SplitChunksPlugin.js:310:52)
    at Object.fn [as getCacheGroups] (D:\zjyc\PM\sxgy\project\admin-ls\node_modules\webpack\lib\optimize\SplitChunksPlugin.js:250:35)
    at D:\zjyc\PM\sxgy\project\admin-ls\node_modules\webpack\lib\optimize\SplitChunksPlugin.js:514:38
    at SyncBailHook.eval [as call] (eval at create (D:\zjyc\PM\sxgy\project\admin-ls\node_modules\tapable\lib\HookCodeFactory.js:19:10), <
anonymous>:7:16)
    at SyncBailHook.lazyCompileHook (D:\zjyc\PM\sxgy\project\admin-ls\node_modules\tapable\lib\Hook.js:154:20)
    at Compilation.seal (D:\zjyc\PM\sxgy\project\admin-ls\node_modules\webpack\lib\Compilation.js:1236:38)
    at D:\zjyc\PM\sxgy\project\admin-ls\node_modules\webpack\lib\Compiler.js:550:17
    at _done (eval at create (D:\zjyc\PM\sxgy\project\admin-ls\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:9:1)
    at eval (eval at create (D:\zjyc\PM\sxgy\project\admin-ls\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:32:22)
    at D:\zjyc\PM\sxgy\project\admin-ls\node_modules\webpack\lib\Compilation.js:1093:12
    at D:\zjyc\PM\sxgy\project\admin-ls\node_modules\webpack\lib\Compilation.js:1005:9
    at processTicksAndRejections (internal/process/task_queues.js:75:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zhongjincloud@4.2.1 test-build: `vue-cli-service build --mode test`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zhongjincloud@4.2.1 test-build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     D:\nodejs\node_cecal\_logs\2023-03-06T01_54_43_477Z-debug.log

Process finished with exit code 1

2023-03-06T01_54_43_477Z-debug.log文件

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'D:\\nodejs\\node.exe',
1 verbose cli   'D:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'test-build',
1 verbose cli   '--scripts-prepend-node-path=auto'
1 verbose cli ]
2 info using npm@6.14.11
3 info using node@v14.16.0
4 verbose run-script [ 'pretest-build', 'test-build', 'posttest-build' ]
5 info lifecycle zhongjincloud@4.2.1~pretest-build: zhongjincloud@4.2.1
6 info lifecycle zhongjincloud@4.2.1~test-build: zhongjincloud@4.2.1
7 verbose lifecycle zhongjincloud@4.2.1~test-build: unsafe-perm in lifecycle true
8 verbose lifecycle zhongjincloud@4.2.1~test-build: PATH: D:\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;D:\zjyc\PM\sxgy\project\admin-ls\node_modules\.bin;D:\python3.9\Scripts\;D:\python3.9\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;D:\Python39\Scripts\;D:\Python39\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;D:\nodejs\;D:\svn\bin;"D:\jdk\bin;D:\jdk\jre\bin;";C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\jdk\bin;D:\Git\cmd;D:\vue\vue3\node_modules\.bin;C:\Users\dalong\AppData\Local\Microsoft\WindowsApps;D:\nodejs\node_global;C:\Program Files\Bandizip\;D:\Microsoft VS Code\bin;"D:\jdk\bin;D:\jdk\jre\bin;";D:\PyCharm Community Edition 2021.1.3\bin;;D:\IDEA\IntelliJ IDEA 2021.3.1\bin;;
9 verbose lifecycle zhongjincloud@4.2.1~test-build: CWD: D:\zjyc\PM\sxgy\project\admin-ls
10 silly lifecycle zhongjincloud@4.2.1~test-build: Args: [ '/d /s /c', 'vue-cli-service build --mode test' ]
11 silly lifecycle zhongjincloud@4.2.1~test-build: Returned: code: 1  signal: null
12 info lifecycle zhongjincloud@4.2.1~test-build: Failed to exec test-build script
13 verbose stack Error: zhongjincloud@4.2.1 test-build: `vue-cli-service build --mode test`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (D:\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:315:20)
13 verbose stack     at ChildProcess.<anonymous> (D:\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1048:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
14 verbose pkgid zhongjincloud@4.2.1
15 verbose cwd D:\zjyc\PM\sxgy\project\admin-ls
16 verbose Windows_NT 10.0.22623
17 verbose argv "D:\\nodejs\\node.exe" "D:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "test-build" "--scripts-prepend-node-path=auto"
18 verbose node v14.16.0
19 verbose npm  v6.14.11
20 error code ELIFECYCLE
21 error errno 1
22 error zhongjincloud@4.2.1 test-build: `vue-cli-service build --mode test`
22 error Exit status 1
23 error Failed at the zhongjincloud@4.2.1 test-build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

原因分析:

可能是部分插件版本不兼容


解决方案:

在package.json中将@vue/cli-service,从3。5.3升级到4.0.3

"@vue/cli-service": "^4.0.3",

如果切换版本后,出现部分图片(css文件)等资源路径找不到,可修改资源路径。

/*原路径*/
background: url("@/assets/ls/bg_cont_left1.png");

/*新路径*/
background: url("~@/assets/ls/bg_cont_left1.png");

执行npm install 命令,再执行npm run build 命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒鼎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值