Невозможно вызвать сборку npm run с помощью vue-cli в производстве

Ожидаемое поведение

npm run build должен создать производственный комплект dist, который я могу обслуживать на данной машине.

Текущее поведение

Несмотря на возможность сборки локально, всякий раз, когда я пытаюсь запустить npm run build на внешнем ресурсе (таком как виртуальная машина Digital Ocean или машина Heroku), я получаю следующую ошибку.

Журналы отказов

root@nodejs-lazyq-dev:/var/www/html/Vue# npm run build

> [email protected] 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! [email protected] build: `vue-cli-service build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] 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, передав --production в npm install --production, но мне не повезло.

версия nodejs: v8.11.4 версия npm: v5.6.0

Я пытался решить эту проблему в течение нескольких часов, но мне не повезло. Я не понимаю, почему он работает локально, но не работает на другой производственной машине.

md/plugins/fullCalendar существует?

Chris 03.09.2018 22:03

Да, да! Я тоже могу построить это на месте.

Lukon 03.09.2018 22:08

@Chris, поэтому я дважды проверил и просто закомментировал этот импорт, и он был успешно построен. Теперь я еще больше сбит с толку, потому что файл ЕСТЬ там и создается локально. Какого черта?

Lukon 03.09.2018 22:33

Я предполагаю, что ваш файл, возможно, не зарегистрирован или отсутствует во время процесса сборки / передачи / копирования.

Chris 03.09.2018 22:57
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
585
1

Ответы 1

Это происходит из-за орфографической ошибки (неправильный регистр) в операторе импорта этой библиотеки Vue UI. Файл называется fullcalendar, а импорт вызывается fullCalendar (обратите внимание на заглавную букву "C"). Когда вы исправите это (сделайте заглавную «C» простой в операторе импорта), он успешно выполнит команду «npm run prod». Следует отметить, что для меня это почему-то не происходило в среде Windows, а происходит только в среде Linux.

Другие вопросы по теме