반응형
mocha 및 styles-resources-loader가 있는 Vue.js는 종속성 sass를 로드할 수 없습니다.
mochapack이 스타일리소스 로더와 연동되지 않는 문제가 있습니다.
문제의 원인이라고 생각되는 패키지:
- "@vue/cli-cli-block-unit-mocha": "~4.2.0",
- "vue-cli-module-style-module-module" : "~0.1.4"
나의vue.config.js
파일:
const path = require("path");
module.exports = {
...
pluginOptions: {
"style-resources-loader": {
preProcessor: "scss",
patterns: [path.resolve(__dirname, "./src/assets/styles/*.scss")]
}
}
};
위의 설정에 포함되는 단일 sass 파일:
@import "~vue-select/src/scss/vue-select.scss";
로딩되는 것 같습니다.vue-select.scss
그러나 이 파일을 해석할 때 현재 디렉토리가 손실되고 가져온 스타일을 찾을 수 없습니다.
오류 로그 발췌:
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Can't find stylesheet to import.
╷
1 │ @import "global/variables";
│ ^^^^^^^^^^^^^^^^^^
╵
/node_modules/vue-select/src/scss/vue-select.scss 1:9 @import
/src/components/HelloWorld.vue 1:9
자세한 에러 메시지와 코드는, https://github.com/petritz/food-calculator-web/runs/560575367 를 참조해 주세요.
유닛 테스트에 모카를 사용하고 있습니다.같은 문제가 발생한 후, 저는 제 옷을 갈아입어야 한다는 것을 깨달았습니다.vue.config.js
송신원:
module.exports = {
publicPath: "/",
css: {
sourceMap: true,
loaderOptions: {
sass: {
prependData: `@import "@/scss/main.scss";`
}
}
}
};
대상:
module.exports = {
publicPath: "/",
css: {
sourceMap: true,
loaderOptions: {
scss: {
additionalData: `@import "@/scss/main.scss";`
}
}
},
chainWebpack: config => {
if (
process.env.NODE_ENV === "test" ||
process.env.NODE_ENV === "production"
) {
const scssRule = config.module.rule("scss");
scssRule.uses.clear();
scssRule.use("null-loader").loader("null-loader");
}
}
};
편집: 로컬 개발 및 운영에서 문제가 있을 수 있으므로 몇 가지 사항을 변경해야 했습니다.
- 를 업그레이드했습니다.
sass-loader
10.1.0 이상으로 - 를 인스톨 할 필요가 있었습니다.
null-loader
CSS 프리프로세서모듈에 대한 대응 - 나는 사용해야만
chainWebpack
에서vue.config.js
사용하다null-loader
내 안에서test
그리고.production
환경
이 Vue CLI GitHub repo 오픈호에서 답을 찾았습니다.https://github.com/vuejs/vue-cli/issues/4053#issuecomment-544641072
언급URL : https://stackoverflow.com/questions/61031121/vue-js-with-mocha-and-styles-resources-loader-cant-load-dependency-sass
반응형
'IT이야기' 카테고리의 다른 글
Nuxt - 글로벌 믹스인에서 Getter를 호출하는 방법 (0) | 2022.06.27 |
---|---|
드래그 클릭을 방지하려면 어떻게 해야 합니까? (0) | 2022.06.27 |
C/C++에서 양의 모듈로를 얻는 가장 빠른 방법 (0) | 2022.06.27 |
서버 측에서 렌더링된 콘텐츠가 vue로 대체되는 이유 (0) | 2022.06.25 |
Nuxt.js 앱의 Vuex 스토어에서 값을 설정하는 방법 (0) | 2022.06.25 |