webpack生成html文件,用于后端渲染的研究

不适用后端渲染的原因webpack的打包方式是把所有的资源都打包成bundle.js,并用一个没有内容的html引入生成的bundle.js,不太熟悉的同学可以参看慕课网的视频教程。但是如果公司的建站方式是后端渲染的话(如jsp),那就不能使用webpack了,因为webpack会把html也打包在bundle.js中。本文就是介绍如何用webpack生成我们需要的html,以及其中的问题和优化。主
摘要由CSDN通过智能技术生成

不适用后端渲染的原因

webpack的打包方式是把所有的资源都打包成bundle.js,并用一个没有内容的html引入生成的bundle.js,不太熟悉的同学可以参看慕课网的视频教程。但是如果公司的建站方式是后端渲染的话(如jsp),那就不能使用webpack了,因为webpack会把html也打包在bundle.js中。本文就是介绍如何用webpack生成我们需要的html,以及其中的问题和优化。

主要思路

webpack的html-webpack-plugin插件,可以设置一个template,我们可以在这个template上做文章,配合上相应的loader,就可以生成我们需要的html。

项目结构

下面是我的webpack目录结构

这里写图片描述

HTML部分

如何生成我们需要的html文件呢?

html-webpack-plugin的使用

我们采用曲线救国的方式生成我们需要的html,用于后端渲染。这就要使用到html-webpack-plugin的template属性。

module.exports = {
  entry: 'index.js',
  output: {
    path: __dirname + '/dist',
    filename: 'index_bundle.js'
  },
  plugins: [
    new HtmlWebpackPlugin(),    // 生成一个空的html,用于引入webpack打包好的js文件
    new HtmlWebpackPlugin({     // 再生成一个html
      filename: 'test.html',
      template: 'src/assets/test.html'    //注意这里可以使用一个template作为要生成的html的模板
    })
  ]
}

上面代码中的template这里是一个html,官方的介绍是,你可以使用jade或ejs等模板引擎,也就是说webpack不关心你使用什么作为模板,只要输出一串字符串就行,于是我大胆的使用一个js文件作为模板,输出一段字符串,结果完全可行。

这样就产生了很多种方案,比如用js文件作为模板,在这个js文件中require其他的html文件,进行字符串拼接,最后输出,但是这样的话,每个

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值