作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 react-css-modules
设置一个 React 项目, webpack和Hot Module Replacement 。一切都很顺利,但我无法让 CSS 源映射工作。
我关注了this guide让 HMR 发挥作用。它涉及到一个 BrowserSync 设置,用于在 Webpack 将 css 文件写入磁盘后更新该文件。
我使用(按照react-css-modules的建议)ExtractTextPlugin
来提取所有的CSS:
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract('style','css?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!sass')
}
但是如果我按照建议将其更改为源映射here
loader: ExtractTextPlugin.extract('style', 'css?sourceMap!sass-loader outputStyle=expanded&sourceMap=true&sourceMapContents=true')
我在浏览器控制台中收到错误:“root”CSS 模块未定义。
。
您可以找到我的示例存储库 here ,但这是我用于开发的完整 webpack 配置。
var webpack = require('webpack');
var path = require('path');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var WriteFilePlugin = require('write-file-webpack-plugin').default;
module.exports = {
entry: {
bundle: [
'webpack/hot/dev-server',
'webpack-hot-middleware/client',
'./index.js'
]
},
devtool: 'cheap-module-source-map',
debug: true,
devServer: devServer,
context: path.resolve(__dirname, './src'),
output: {
path: path.resolve(__dirname, './builds'),
filename: '[name].js',
publicPath: '/builds/'
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.OldWatchingPlugin(),
new WriteFilePlugin(),
new ExtractTextPlugin('[name].css', {
allChunks: true
})
],
module: {
loaders: [
{
test: /\.js$/,
loaders: ['react-hot', 'babel-loader'],
exclude: /node_modules/
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract('style','css?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!sass')
}
]
},
resolve: {
extensions: ['', '.js', '.json']
}
};
如何使源映射工作?
最佳答案
使用这个:
ExtractTextPlugin.extract('style','css?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!sass?sourceMap')
即将 sourceMap
参数添加到 css
和 sass
加载器中。 sass-loader docs中是这么说的.
关于reactjs - 如何让源映射适用于 React Css 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34434849/
我是一名优秀的程序员,十分优秀!