【发布时间】:2016-08-15 07:16:31
【问题描述】:
我目前有一些使用 webpack 成功构建的 react 组件和 sass。我还有一个主要的 sass 文件,它使用 gulp 任务构建到 css。
我只想使用其中一种技术,是否可以将 sass 编译为 css 而无需在入口文件中对 sass 进行关联要求?
这是一个尝试使用 WebpackExtractTextPlugin 的示例
webpack.config.js
entry_object[build_css + "style.css"] = static_scss + "style.scss";
module.exports = {
entry: entry_object,
output: {
path: './',
filename: '[name]'
},
{
test: /\.scss$/,
include: /.scss$/,
loader: ExtractTextPlugin.extract("style-loader", "css!sass")
}
plugins: [
new ExtractTextPlugin("[name]")
]
运行 webpack 后,style.css 资源如下所示:
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
...
【问题讨论】:
-
您将需要 webpack 或 gulp 来将 sass 转换为 css,其中一个错误就够了,这就是您要问的吗?
-
这是某种限制吗?我通常有一些索引文件来导入我所有的风格相关的东西。
-
看起来这就是你要找的东西,虽然github.com/peerigon/extract-loader#examples
-
@azium 我一直在搞乱不同的配置,你是否建议我有一个 js 文件来导入 scss,构建它,并将其包含在脚本标签中?我也会研究一下提取加载器,谢谢。
-
酷,我更了解现在发生了什么。当您使用 SCSS 文件作为条目时,它将生成一个类似的虚拟 JavaScript 文件 (related issue)。实际生成您期望的 CSS 文件的部分是
new ExtractTextPlugin("[name]")。你能试着把它改成new ExtractTextPlugin("[name].css")吗?
标签: javascript css reactjs sass webpack