反应样式化的组件在生产中不起作用

时间:2020-01-24 10:04:38

标签: reactjs webpack

我已经能够在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
  },

1 个答案:

答案 0 :(得分:4)

您是否使用createGlobalStyle创建的包含CSS @import的全局样式?从我的网站中删除导入只是为我解决了这个问题。 (听起来像是同样的问题)。

https://github.com/styled-components/styled-components/issues/2911#issuecomment-592012166