我可以使用 webpack 单独缩小文件吗?

nou*_*ane 2 javascript minify webpack

我有一个项目,其中有很多 JavaScript 文件,分别位于多个文件夹中。

root
 | - index.html
 | - lib
 | -- jquery-ui.js
 | -- jquery.js
 | -- html2canvas.js
 |  
 | - js
 | -- main.js
 | -- app1.js
 | -- app2.js
 | -- app3.js
Run Code Online (Sandbox Code Playgroud)

并且需要使用 webpack 分别缩小这些文件,以便每个文件保留其路径。

我不想拥有一个包含所有代码的文件。

我当前的配置:

const path = require('path');

module.exports = {
    entry:[
        './js/index.js',
        './pages/MCF/js/index.js',
        './pages/MCF/js/refresh.js',
        './pages/MCF/lang/index.js',
        './pages/MCF/lib/scriptJs/script.js',
        './pages/MCF/lib/scriptJs/load.js'
        ],
    output :{
        path :path.resolve('./prod/js'),
        filename: "app.min.js"
    },
    module:{
        rules:[
        {
            test:/\.js$/,
            exclude: /(node_modules|bower_components)/,
            use:['babel-loader']
        }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

Jai*_*Jai 6

您可以从此处获取多个入口点的参考

这是您应该采用的单独文件构建方式:

module.exports = {
  entry:{
    main      : './js/index.js',
    main2     : './pages/MCF/js/index.js',
    refresh   : './pages/MCF/js/refresh.js',
    langindex : './pages/MCF/lang/index.js',
    script    : './pages/MCF/lib/scriptJs/script.js',
    load      : './pages/MCF/lib/scriptJs/load.js'
    },
    output :{
      path :path.resolve('./prod/js'),
      filename: "[name].min.js"
    },
    ...
};
Run Code Online (Sandbox Code Playgroud)

[name].min.js

[name]将允许您将每个条目的构建保存为给定的名称(键)。输出将是:

./prod/js/main.js, 
./prod/js/main2.js
// so on
Run Code Online (Sandbox Code Playgroud)