在mern io中添加资源文件夹

时间:2017-11-03 10:21:34

标签: mern

我正在使用mern.io我的web pack配置看起来像:

var webpack = require('webpack');
var cssnext = require('postcss-cssnext');
var postcssFocus = require('postcss-focus');
var postcssReporter = require('postcss-reporter');

module.exports = {
  devtool: 'cheap-module-eval-source-map',

  entry: {
    app: [
      'eventsource-polyfill',
      'webpack-hot-middleware/client',
      'webpack/hot/only-dev-server',
      'react-hot-loader/patch',
      './client/index.js',
    ],
    vendor: [
      'react',
      'react-dom',
    ],
  },

  output: {
    path: __dirname,
    filename: 'app.js',
    publicPath: 'http://0.0.0.0:8888/',
  },

  resolve: {
    extensions: ['', '.js', '.jsx'],
    modules: [
      'client',
      'node_modules',
    ],
  },

  module: {
    loaders: [
      {
        test: /\.css$/,
        exclude: /node_modules/,
        loader: 'style-loader!css-loader?localIdentName=[name]__[local]__[hash:base64:5]&modules&importLoaders=1&sourceMap!postcss-loader',
      }
      , {
        test: /\.css$/,
        include: /node_modules/ ,
        loaders: ['style-loader', 'css-loader'],
      }

      , {
        test: /\.jsx*$/,
        exclude: [/node_modules/, /.+\.config.js/],
        loader: 'babel',
      }, {
        test: /\.(jpe?g|gif|png|svg)$/i,
        loader: 'url-loader?limit=10000',
      }, {
        test: /\.json$/,
        loader: 'json-loader',
      },
      { test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "url-loader?limit=1&minetype=application/font-woff" },
      { test: /\.(ttf|eot)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "url-loader?limit=1&minetype=application/font-woff" },


      { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=1' }
    ],
  },

  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.optimize.CommonsChunkPlugin({
      name: 'vendor',
      minChunks: Infinity,
      filename: 'vendor.js',
    }),
    new webpack.DefinePlugin({
      'process.env': {
        CLIENT: JSON.stringify(true),
        'NODE_ENV': JSON.stringify('development'),
      }
    }),
  ],

  postcss: () => [
    postcssFocus(),
    cssnext({
      browsers: ['last 2 versions', 'IE > 10'],
    }),
    postcssReporter({
      clearMessages: true,
    }),
  ],
};

我想添加一个自定义的css文件,该文件位于:/public/assets/css/custom.css;那我的配置是什么?

我可以在node_modules中导入css文件,例如:require(' rc-slider / assets / index.css');

正如它在配置中所说的那样:

{
        test: /\.css$/,
        include: /node_modules/ ,
        loaders: ['style-loader', 'css-loader'],
      } 

我已将条目复制为:

{
        test: /\.css$/,
        include: /public/ ,
        loaders: ['style-loader', 'css-loader'],
      } 

但没有工作

1 个答案:

答案 0 :(得分:0)

可以采用两种方法来处理这种情况。

1。 您可以使用以下命令添加公用文件夹以提供静态文件。 app.use(express.static( '公共'));

然后,如果使用服务器端渲染,则可以在html中添加文件。

2

您可以将此文件放在客户端,只需在客户端的webpack入口点导入该文件即可。 webpack将使用样式加载器自动包含它。