给出了以下简单的项目结构。
.
├── build
│ ├── css
│ ├── index.html
│ └── js
│ └── main.min.js
├── package.json
├── rollup.config.js
└── src
├── scripts
│ └── main.js
└── styles
└── main.scss
src/scripts/main。js
内容是导入“style/main.scss”
卷起来。配置。js
import scss from "rollup-plugin-scss";
export default {
input: "./src/scripts/main.js",
output: {
file: "./build/js/main.min.js",
format: "esm",
},
plugins: [
scss({
include: ["/**/*.css", "/**/*.scss", "/**/*.sass"],
output: "css/style.css",
failOnError: true,
}),
],
};
使用此配置运行
rollup-c
会导致此输出,而无需创建css/style.css
。
> rollup -c
./src/scripts/main.js → ./build/js/main.min.js...
(!) Unresolved dependencies
https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency
styles/main.scss (imported by src/scripts/main.js)
created ./build/js/main.min.js in 7ms
我错过了什么?如何在本期配置中使用“sass”而不是“node-sass”?
运行
npm install rollup--global--verbose
和npm install--save dev rollup plugin scss--verbose
包后。json看起来像这样。
编辑2021-08-06 by John使用汇总编译Sass文件
npm install --save-dev rollup-plugin-scss@3 sass
{
"name": "example",
"version": "1.0.0",
"main": "build/js/main.min.js",
"dependencies": {},
"devDependencies": {
"rollup": "^2.28.2",
"rollup-plugin-scss": "^2.6.1"
},
"scripts": {
"build": "rollup -c"
}
}
导入main。scss
insrc/scripts/main。js不太正确。
它必须是
import./styles/main.scss”
而不是导入“/styles/main.scss”
使用以下
汇总。配置。js
编译后的CSS文件保存到/build/css/style。css
。
import scss from "rollup-plugin-scss";
export default {
input: "./src/scripts/main.js",
output: {
file: "./build/js/main.min.js",
format: "esm",
},
plugins: [
scss({
output: "./build/css/style.css",
failOnError: true,
}),
],
};
使用“sass”而不是“node-sass”使用
npm install--save-dev sass--verose
安装“sass”并将其添加到配置中,就像这样工作。
import scss from "rollup-plugin-scss";
export default {
input: "./src/scripts/main.js",
output: {
file: "./build/js/main.min.js",
format: "esm",
},
plugins: [
scss({
output: "./build/css/style.css",
failOnError: true,
runtime: require("sass"),
}),
],
};
无论是 node-sass 还是 ruby-sass 使用 npm 安装都非常的慢,甚至会装不上。及其不利于团队协作。建议使用 less 作为 css 预处理器。 如果因为 less 不支持自定义函数选择用 sass 可以使用 less-plugin-functions 让 less 支持自定义函数。 gulp-sass 本章使用的是 ruby-sass 如果你不方便安装 ruby 或编译速度慢,
我在使用汇总编译Vue脚本时遇到问题。我得到的错误是 [!] 错误:节点_modules/vue/dist/vue未导出“openBlock”。运行时。esm。js,由src/js/components/TestButton导入。vue?vue app.js TestButton.vue 卷起来。配置。js 我尝试了很多不同的东西,但似乎没有任何帮助。但是,如果我在配置中的vuePlugin之前加
我已经通过webpack简单裸露了VueJs的新安装,试图将SASS设置为CSS。文档说它已经准备好开发了,但是webpack只适用于SCSS,而不适用于SASS。有人能分享一下如何使用吗? 此外,我还遵循了教程https://vue-loader.vuejs.org/guide/pre-processors.html#sass-vs scss,但没有结果 Webpack文件 错误 未能编译。 .
我有一个Laravel项目,我试图使用npm run watch将Sass编译成CSS,但在终端日志中出现以下错误:[webpack cli]无效的配置对象。已使用与API架构不匹配的配置对象初始化Webpack。 配置。条目['/js/app']不应包含项目“D:\xampp\htdocs\laravel\epood5\resources\js\app”。两次- npm错误!此运行的完整日志可在
我们在框架中有多个子模块,scss文件夹有多个可能的路径,例如: fW/submodule/_wwW/css/foo/bar/scss/ fW/submodule/subsubmodule/_www/css/foo/bar/fooagain/scss/ fw/submodule/views/tpl/library/libraryname/default/css/foo/bar/scss/ 等等。
我有一个原型文件,用协议2语法编写。我正在使用协议3编译器编译这个原型文件。虽然它成功构建,但它在运行时显示以下错误。有人能帮我吗? [libprotobuf FATAL google/protobuf/extension\u set.cc:102]x.y.z.a类型的多个扩展注册,字段号200。在抛出“google::protobuf::FatalException”what():type“x.