Установка Node.js 10 на CentOS 7 для Webpack сборки Vue.js
Обновляем Node.js v10 на CentOS 7.7. Решение проблем с компиляцией sass/scss.
Решаемая проблема - это ошибка при сборке Vue-проекта, где в секциях <style> подключаются scss-стили. Ошибка:
ERROR in ./src/components/SomeVueComponent.vue?vue&type=style&index=0&id=471b60d4&scoped=true&lang=css& (./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SomeVueComponent.vue?vue&type=style&index=0&id=471b60d4&scoped=true&lang=css&)
Module build failed (from ./node_modules/css-loader/dist/cjs.js):
/some-vue-project/node_modules/css-loader/dist/plugins/postcss-icss-parser.js:34
accumulator[normalizedUrl] = { ...accumulator[normalizedUrl],
^^^
SyntaxError: Unexpected token ...
at NativeCompileCache._moduleCompile (/some-vue-project/node_modules/v8-compile-cache/v8-compile-cache.js:240:18)
Ошибка гласит, что компилятор не понимает синтаксис Spread-оператора: ...someArrayObject.
Процесс установки с зачисткой старой версии Node 6:
sudo yum remove -y nodejs
sudo yum clean all
sudo rm -rf /var/cache/yum
sudo rm /etc/yum.repos.d/nodesource*
sudo yum install -y gcc-c++ make
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
npm config set unsafe-perm=true ## @note Разрешить запуск node под root'ом. Плохая практика..
Фиксим ошибку компиляции scss/sass (при необходимости):
npm cache clear --force
npm install --save-dev webpack ## -
npm rebuild node-sass ## +
#nodejs, #webpack, #vue, #vue scss, #node-sass, #centos