Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 多个入口点/模板的网页包配置_Webpack - Fatal编程技术网

Webpack 多个入口点/模板的网页包配置

Webpack 多个入口点/模板的网页包配置,webpack,Webpack,有以下任务-我有一个包含视图的文件夹: --views ----view1 ------view1.js ------view1.html(or jade) ----view2 ------view2.js ------view2.html(or jade) 因此,我需要为webpack创建一个简单的配置,它可以创建以下输出“public”文件夹: --public ----js ------view1.js ------view2.js ----view1.html ----view2.ht

有以下任务-我有一个包含视图的文件夹:

--views
----view1
------view1.js
------view1.html(or jade)
----view2
------view2.js
------view2.html(or jade)
因此,我需要为webpack创建一个简单的配置,它可以创建以下输出“public”文件夹:

--public
----js
------view1.js
------view2.js
----view1.html
----view2.html
我理解,我可以使用多个入口点:

  entry: {
    view1: './views/view1/view1'
    view2: './views/view2/view2
  }

我还了解到,我可以使用HtmlWebpackPlugin在
public/view1.html
中注入bundle(
public/js/view1.js
)。但是多点呢?我必须为每个html视图添加HtmlWebpackPlugin吗?提前谢谢

必须为要创建的每个.html页面添加多个
HtmlWebpackPlugin
部分

以下是我自己的配置示例:

plugins: [
  new HtmlWebpackPlugin({
    title: 'SearchView',
    chunks: ['manifest', 'vendor', 'searchView'],
    template: `${PATHS.app}/index.ejs`, // Load a custom template
    inject: 'body', // Inject all scripts into the body
    filename: 'searchView.html'
  }),
  new HtmlWebpackPlugin({
    title: 'TicketView',
    chunks: ['manifest', 'vendor', 'ticketView'],
    template: `${PATHS.app}/index.ejs`, // Load a custom template
    inject: 'body', // Inject all scripts into the body
    filename: 'ticketView.html'
  })
]

chunks
属性很关键,因为它只允许您为每个页面选择所需的资源。

我有一个完全相同的问题,您最终解决了这个问题吗?我有一个类似的用例。我有一个单页应用程序,我想作为一个单独的捆绑包提供注册页面。我的问题用上述解决方案解决了,但还有一个小问题。对于上面的解决方案,我需要将url写为'/signup.html',但是如果有,当我写'/signup'时,它会加载注册包,这将非常有帮助。提前谢谢。这会减慢构建速度。