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'时,它会加载注册包,这将非常有帮助。提前谢谢。这会减慢构建速度。