css - Sass 不在 webpack 元素中热重载

标签 css sass webpack

我在我的元素中使用 webpack,目前我正在尝试设置 sass 热重载

当我运行 webpack-dev-server --inline --hot 时,我的 main.scss(导入了所有其他 css/scss)被加载并且一切正常,但是一旦我修改一些东西,它不刷新,我必须重新启动 webpack 服务器

这是我的 webpack.config.js

module.exports = {
  entry: JS_DIR + '/index.jsx',
  output: {
    path: BUILD_DIR,
    publicPath: '/public/',
    filename: 'bundle.js'
  },
  devServer: {
    contentBase: './src/client',
    inline: true,
    hot: true,
    port: 8080
  },
  module: {
    loaders: [{
      test: /\.jsx?/,
      include: JS_DIR,
      loader: 'babel',
    }, {
      test: /\.scss$/,
      loaders: ['style-loader', 'css-loader', 'postcss-loader']
    }]
  },
  resolve: {
    root: path.resolve(CLIENT_DIR),
    extensions: ['', '.js', '.jsx']
  },
  postcss: function() {
    return [autoprefixer, precss];
  }
};

索引.jsx

import style from 'css/main.scss';
...

主.scss

@import './style.scss';

样式.scss

h1 {
  color: yellow;
}

谢谢你的帮助

最佳答案

好的,我解决了这个问题

webpack.config.js 现在看起来像这样:

module.exports = {
  entry: JS_DIR + '/index.jsx',
  output: {
    path: BUILD_DIR,
    publicPath: '/public/',
    filename: 'bundle.js'
  },
  devServer: {
    contentBase: './src/client',
    inline: true,
    hot: true,
    port: 8080
  },
  module: {
    loaders: [{
      test: /\.jsx?/,
      include: JS_DIR,
      loader: 'babel',
    }, {
      test: /\.scss$/,
      loaders: ['style', 'css?sourceMap', 'sass?sourceMap']
    }]
  },
  resolve: {
    root: path.resolve(CLIENT_DIR),
    extensions: ['', '.js', '.jsx']
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoErrorsPlugin()
  ]
};

它运行正常 npm start(位于 package.json 中的脚本)

...
"scripts": {
  "start": "webpack-dev-server"
},
...

看起来 'postcss-loader' 是问题的根源,如果我将它添加到加载器,它就会停止工作

关于css - Sass 不在 webpack 元素中热重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38426976/

相关文章:

angular - 拖放 - Angular Material 2 Experimental CDK - 重新排序水平堆叠的项目

将 css 导入 scss 文件后,css 不起作用 - angular 4

html - 如何在聊天 UI 的特定类 <li> 之前添加边框半径

Jquery 导航和子导航悬停

css - 在 WebStorm 的单行注释 block 中添加空格

jquery - 在滚动期间同时触发一个动画

javascript - 为什么我在执行 post 请求时得到空对象

javascript - WebpackError : ReferenceError: window is not defined on Gatsby

javascript - 将 Javascript/Jquery 文件逐步重构为 ES6 模块

twitter-bootstrap - body 的响应式背景图片