#node.js #vue.js
#node.js #vue.js
Вопрос:
Я только что установил sass-loader и node-sass в свой проект через npm:
npm install -D node-sass sass-loader
Затем заменил тег style внутри компонента vue на:
<style lang="scss"></style>
Я получаю следующую ошибку:
Module build failed: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
at assertPath (path.js:39:11)
at Object.join (path.js:432:7)
at getSassOptions (C:UserstomekDesktopprojektyprojectsBacketlistnoteTakingAppfrontendnoteTakkingAppnode_modulessass-loaderdistutils.js:160:37)
at Object.loader (C:UserstomekDesktopprojektyprojectsBacketlistnoteTakingAppfrontendnoteTakkingAppnode_modulessass-loaderdistindex.js:36:49)
@ ./node_modules/vue-style-loader!./node_modules/css-loader?{"sourceMap":true}!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-7ba5bd90","scoped":false,"hasInlineConfig":false}!./node_modules/sass-loader/dist/cjs.js?{"sourceMap":true}!./node_modules/vue-loader/lib/selector.js?type=stylesamp;index=0!./src/App.vue 4:14-357 13:3-17:5 14:22-365
@ ./src/App.vue
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/main.js
Что я могу сделать, чтобы исправить эту проблему?
Комментарии:
1. Да, конечно github.com/TomekPulkiewicz/NoteTakingAppFrontend ‘
Ответ №1:
Версия Webpack в вашем проекте (3.x) устарела и несовместима с новейшими версиями node-sass
and sass-loader
(5.x и 10.x соответственно).
Для Sass в Webpack 3 установите node-sass
4.x и sass-loader
7.x:
npm i -D node-sass@^4 sass-loader@^7
Комментарии:
1. @nanobot Vue CLI создает для вас проект Vue. То есть команда
create
командной строки (vue create myproject
) генерирует проект, который автоматически использует правильную версию Webpack, поэтому вам не нужно устанавливать Webpack явно. Вы можете столкнуться с руководствами, предлагающимиvue init webpack
создать проект Vue с поддержкой Webpack, но этот шаблон уже давно устарел .2. Ах, теперь это имеет смысл. Это именно то, что мне рассказали в руководстве от 2018 года.