javascript - Webpack/Babel 编译脚本

标签 javascript webpack babeljs

我正在学习 webpack 和 babel,有些事情让我感到困惑。

在大多数情况下,我看到配置文件的输入和输出如下:

entry: { main: './src/index.js'},
    output: {
        path: path.resolve(__dirname, "dist"),
        filename: 'bundle.js'
    },

这一切都说得通,但是如果你想将多个 js 文件编译成 dist 怎么办? 例如,如果您有多个正在导入和导出的 js 文件怎么办?

我知道很多人会在 React 中使用 webpack,所以会简单地使用 App.js 文件上的编译——但这通常是相同的原理吗?例如,我是否应该将所有要编译的文件导入到一个 js 文件中,然后在该文件上使用 wpack/babel?

我希望我说得有道理……澄清一下会很棒。

非常感谢,

拉夫

最佳答案

Webpack 可以配置为采用多个入口点:

entry: {
    app: "./src/scripts/app.js",
    vendor: "pathofsomeotherentrypoint"
},
output: {
    path: path.resolve(__dirname, "dist"),
    filename: 'bundle.js'
},

我们甚至可以生成多个包(每个入口点一个)。

entry: {
    app: "./src/scripts/app.js",
    vendor: "pathofsomeotherentrypoint"
},
output: {
    filename: "./dist/[name].bundle.js" 
},

以上配置将生成两个包 app.bundle.jsvendor.bundle.js

我们还可以使用 glob 模式匹配从一个目录中包含多个文件

var glob = require("glob");
// ...
entry: glob.sync("./src/scripts/*.js"),
output: {
    path: path.resolve(__dirname, "dist"),
    filename: 'bundle.js'
},

有关更多解释,请阅读引用资料。

引用资料:

https://medium.com/a-beginners-guide-for-webpack-2/multiple-entries-e1b3d83579bf

https://webpack.js.org/concepts/entry-points/

https://stackoverflow.com/a/34545812/2073920

关于javascript - Webpack/Babel 编译脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51455140/

相关文章:

javascript - Babel 忽略几个目录

javascript - Angular 2 依赖注入(inject) (DI) 不起作用?

javascript - 如何更改任何图表水平仪表中的标记标签?

javascript - Webpack插件看子编译

javascript - Webpack - 将 Node 模块放入 Bundle 并加载到 html 文件中

javascript - babel,带有nodemon脚本的webpack?

javascript - Flow 给我 React Native 类型定义/代码的错误

javascript - 通过另一个选择框更改选择框选项和选项文本

javascript - 未处理的 promise 拒绝 : NotSupportedError (DOM Exception 9): The operation is not supported

javascript - 基础 6 + webpack : Cannot make Foundation JS work