我已经能够在webpack开发服务器上使用样式化组件而没有任何问题,但是在使用webpack -p --progress --colors
构建生产项目或运行webpack -d --progress --colors --watch
时不会添加样式。
在生产中添加的唯一样式是空样式
<style data-styled="" data-styled-version="4.4.1"></style>
在webpack.config.js中,我具有针对开发人员和生产人员运行的以下规则:
module: {
rules: [
{
test: /\.js?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['react', 'es2015', 'stage-0'],
plugins: ['react-html-attrs', 'transform-decorators-legacy', 'transform-class-properties'],
}
},
]
},
插件,请注意,调试用于生产版本
plugins: debug ? [
new HtmlWebpackPlugin({
template: path.resolve(__dirname, 'template.html')
})
] : [
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: JSON.stringify("production"),
},
}),
new CleanWebpackPlugin(),
new webpack.optimize.OccurrenceOrderPlugin(),
new UglifyJsPlugin(),
new HtmlWebpackPlugin({
template: path.resolve(__dirname, 'template.html')
})
],
开发服务器设置:
devServer: {
contentBase: BUILD_DIR,
historyApiFallback: true,
watchContentBase: true,
port: 9000
},
答案 0 :(得分:4)
您是否使用createGlobalStyle
创建的包含CSS @import
的全局样式?从我的网站中删除导入只是为我解决了这个问题。 (听起来像是同样的问题)。
https://github.com/styled-components/styled-components/issues/2911#issuecomment-592012166