Webpack入口点语法混乱

时间:2019-03-05 14:35:23

标签: javascript webpack

我正在研究一些代码以了解webpack及其作用,并遇到了这段代码;

const path = require('path');
const docsBuild = {
  entry: {
    'app/docs/lib/dice-roller': './app/src/main.js'
  },
  output: {
    path: path.join(_dirname,''),
    filename: '[name].js'
  } 
};
module.exports = [docsBuild];

我不明白为什么为什么要代替条目main的属性,而是要有一个文件路径,以及为什么path.join的第二个参数为空。我是webpack的新手,似乎无法在其文档中找到答案,也许我没有很好地搜索过,但可以帮助您。

1 个答案:

答案 0 :(得分:0)

根据webpack文档:

entry

  

要输入应用程序的点。此时,   应用程序开始执行。如果传递数组,则所有项目将   被执行。

那段代码:

entry: {
  'app/docs/lib/dice-roller': './app/src/main.js'
}

正在将'app/docs/lib/dice-roller'的入口点设置为'./app/src/main.js'

output.path

  

输出目录为绝对路径。

path.join的第二个参数是输出目录名称本身。在您的示例中为空,但正如您在example provided here中看到的那样,该项目为以下项目结构:

  webpack-demo
  |- package.json
  |- webpack.config.js
  |- /dist
  |- /src

您可以设置以下输出配置,其中__dirname返回当前模块的目录名称:

output: {
  filename: '[name].js',
  path: path.resolve(__dirname, 'dist')
}

this 'options' documentation的一段内容也可能对此有所说明:

  

请注意,在整个配置过程中,我们使用Node内置的path module并将其前缀为全局__dirname。这样可以防止文件   操作系统之间的路径问题,并允许相对路径   按预期工作。有关POSIX与Windows的更多信息,请参见this section。   路径。

希望这对您有所帮助。