pet*_*itz 5 sass webpack vue.js vuejs2 mochapack
我遇到的问题是 mochapack 似乎无法与样式资源加载器一起使用。
\n\n似乎产生问题的软件包:
\n\n我的vue.config.js文件:
const path = require("path");\n\nmodule.exports = {\n ...\n\n pluginOptions: {\n "style-resources-loader": {\n preProcessor: "scss",\n patterns: [path.resolve(__dirname, "./src/assets/styles/*.scss")]\n }\n }\n};\nRun Code Online (Sandbox Code Playgroud)\n\n通过上述配置包含的单个 sass 文件:
\n\n@import "~vue-select/src/scss/vue-select.scss";\nRun Code Online (Sandbox Code Playgroud)\n\n它似乎正确加载,vue-select.scss但在解释该文件时,它似乎丢失了当前目录并且找不到导入的样式。
错误日志摘录:
\n\nModule build failed (from ./node_modules/sass-loader/dist/cjs.js):\nSassError: Can\'t find stylesheet to import.\n \xe2\x95\xb7\n1 \xe2\x94\x82 @import "global/variables";\n \xe2\x94\x82 ^^^^^^^^^^^^^^^^^^\n \xe2\x95\xb5\n /node_modules/vue-select/src/scss/vue-select.scss 1:9 @import\n /src/components/HelloWorld.vue 1:9 \nRun Code Online (Sandbox Code Playgroud)\n\n查看完整详细的错误消息和代码:\n https://github.com/petritz/food-calculator-web/runs/560575367
\n我正在使用 Mocha 进行单元测试。遇到同样的问题后,我注意到我必须更改vue.config.js:
module.exports = {
publicPath: "/",
css: {
sourceMap: true,
loaderOptions: {
sass: {
prependData: `@import "@/scss/main.scss";`
}
}
}
};
Run Code Online (Sandbox Code Playgroud)
到:
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");
}
}
};
Run Code Online (Sandbox Code Playgroud)
编辑:这可能会对本地开发和生产产生一些问题,所以我必须更改一些内容:
sass-loader我至少升级到10.1.0null-loader才能使用 CSS 预处理器模块chainWebpack在我的环境中vue.config.js使用null-loadertestproduction我在 Vue CLI GitHub 存储库上的这个开放问题中找到了答案:https://github.com/vuejs/vue-cli/issues/4053#issuecomment-544641072
| 归档时间: |
|
| 查看次数: |
1062 次 |
| 最近记录: |