>预期行为
npm run build
应该创建我可以在给定计算机上提供的生产dist
捆绑包
当前行为
尽管能够在本地构建,但每当我尝试在外部资源(例如数字海洋虚拟机或 Heroku 机器(上运行npm run build
时,我都会收到以下错误。
故障日志
root@nodejs-lazyq-dev:/var/www/html/Vue# npm run build
> vue-material-dashboard-pro@1.0.0 build /var/www/html/Vue
> vue-cli-service build
⠴ Building for production...
ERROR Failed to compile with 1 errors 09:29:00
error in ./src/assets/scss/_material-dashboard.scss
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/sass-loader/lib/loader.js):
@import "md/plugins/fullCalendar";
^
File to import not found or unreadable: md/plugins/fullCalendar.
in /var/www/html/Vue/src/assets/scss/_material-dashboard.scss (line 59, column 1)
at runLoaders (/var/www/html/Vue/node_modules/webpack/lib/NormalModule.js:286:20)
at /var/www/html/Vue/node_modules/loader-runner/lib/LoaderRunner.js:364:11
at /var/www/html/Vue/node_modules/loader-runner/lib/LoaderRunner.js:230:18
at context.callback (/var/www/html/Vue/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
at Object.asyncSassJobQueue.push [as callback] (/var/www/html/Vue/node_modules/sass-loader/lib/loader.js:55:13)
at Object.done [as callback] (/var/www/html/Vue/node_modules/neo-async/async.js:7974:18)
at options.error (/var/www/html/Vue/node_modules/node-sass/lib/index.js:294:32)
@ ./src/material-dashboard.js 17:0-48
@ ./src/main.js
@ multi ./src/main.js
ERROR Build failed with errors.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! vue-material-dashboard-pro@1.0.0 build: `vue-cli-service build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the vue-material-dashboard-pro@1.0.0 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! /root/.npm/_logs/2018-09-03T09_29_01_030Z-debug.log
此外,我尝试运行npm rebuild node-sass
,更新material-dashboard.css
文件以包含下划线:_material-dashboard.css
,在npm install --production
中传递--production
,但没有运气。
NodeJS版本:v8.11.4 npm 版本:v5.6.0
我已经尝试解决这个问题几个小时了,但没有任何运气。 我不明白为什么它在本地工作,但在另一台生产机器上却不行。
发生这种情况是因为这个 Vue UI 库的导入语句中的拼写错误(大小写错误(。该文件被命名为"fullcalendar",而导入由"fullCalendar"调用(注意大写的"C"(。当您修复此问题时(在导入语句中使大写字母"C"变得简单(,它将成功运行"npm run prod"命令。应该注意的是,对我来说,由于某种原因,这并没有发生在 Windows 环境中,而只发生在 Linux 环境中。