Установка Node.js 10 на CentOS 7 для Webpack сборки Vue.js

Категория: Shell

Обновляем 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

категория: Shell