配置Webpack生产输出文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置Webpack生产输出文件相关的知识,希望对你有一定的参考价值。

这是我第一次构建webpack.production.config.js文件。 这是我的目录结构。 我的webpack dev config输入和输出如下:

const path = require('path');
const webpack = require('webpack');

let config = {
  entry: path.resolve(__dirname, 'app/index.js'),
  output: {
    path: path.resolve(__dirname, '/public'),
    filename: 'bundle.js',
  },

....

我的webpack生产文件是这样的:

const path = require('path');
const webpack = require('webpack');
const htmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
  entry: path.resolve(__dirname, 'app/index.js'),
  output: {
    path: path.resolve(__dirname, 'build'),
    filename: '[name].js',
  },
  module: {
    loaders: [
      { test: /.json$/, loader: 'json' },
      { test: /.js$/, exclude: /node_modules/, loader: 'babel-loader' },
  {
    test: /.css$/,
    use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' }),
  },
  { test: /.(png|svg|jpg|gif)$/, use: ['file-loader'] },
  {
    test: /.(woff|woff2|eot|ttf|otf)$/,
    use: ['file-loader'],
      },
    ],
  },
  plugins: [
    new HtmlWebpackPlugin({ title: 'My App', filename: 'admin.html' }),
    new webpack.DefinePlugin({
  'process.env.NODE_ENV': JSON.stringify('production'),
}),
    new webpack.optimize.UglifyJsPlugin(),
    new ExtractTextPlugin('styles.css'),
    new webpack.optimize.CommonsChunkPlugin('common.js'),
  ],
};

Npm启动正常。 Npm运行构建编译并创建我的构建文件夹。 在文件夹中是我的资产,是从HtmlWebpackPlugin生成的main.js,common.js.js和admin.html。

构建完成后,admin.html将读取commmon.js.js和main.js源代码。

当我尝试部署到heroku时,如何使生产中的输出路径正确,以便新生成的html位于根目录中并读取正确的js文件? 当前在我的package.json中,入口点是“ app / index.js”。

以上是关于配置Webpack生产输出文件的主要内容,如果未能解决你的问题,请参考以下文章

vue-cli+webpack打包配置

webpack

webpack 生产环境相关

webpack 生产环境相关

webpack5项目搭建React-Cli(生产模式)

一个十分简单的关于生产环境和开发环境的webpack配置