zoukankan      html  css  js  c++  java
  • webpack自动生成项目的html

    1 自动生成多个html页面

    设置webpack.config.js中的plugins属性,多次调用plugin插件(new htmlWebpackPlugin()),同时设置对应数量的.js入口文件

    2 指定生成的.html页面中包含的chunk

    设置属性 chunks 或者 excludeChunks

    plugins: [
    	new htmlWebpackPlugin({
    		//filename:'index-[hash].html',
    		filename:'a.html',
    		template: 'index.html',
    		//inject:'head',
    		//inject:'body',
    		inject:false, //为false默认不生成外链引入
    		title:'this is a.html',
    		//chunks:['main','a']
    		excludeChunks:['b','c']		
    	})
    

    3 把初始化的脚本直接嵌入页面

    • (不需要http请求 提高脚本的加载速度和运行速度)而不以链接的形式引入到页面
    • 在可以通过inline的方式注入js文件的同时,是没有办法再加入内联js,如果不使用compilation.assets的话是会一直报错的,可以看看插件作者的代码
    • compilation.assets是webpack暴露出来可以获取文件数据的方法。通过传文件名路径进这个对象,拿到这个文件的索引,通过调用source拿到文件内容。
      compilation.assets需要的是不带publicPath,htmlWebpackPlugin.files.chunks.main.entry带publicPatch,所以用substr()截取。
    内连方式引入
    <script type="text/javascript" >
    		<%= 
    		compilation.assets[htmlWebpackPlugin.files.chunks.main.entry.substr(htmlWebpackPlugin.files.publicPath.length)].source()
    		%>
    </script>
    外联方式引入
    src:
    <% for (var k in htmlWebpackPlugin.files.chunks) {%>
    	<% if (k !== 'main') {%>
    	<script type="text/javascript" src="<%= htmlWebpackPlugin.files.chunks[k].entry %>"></script>
    	<% } %>
    	<% } %>
    
  • 相关阅读:
    Flink批处理读取Hive写入MySql
    数组与链表的优缺点
    Flink任务暂停重启
    Flink优化总结
    Flink集群监控
    flink连接器-流处理-读写redis
    Flink连接器-批处理-读写Hbase
    flink on yarn
    java的常量定界符
    特殊注释的使用
  • 原文地址:https://www.cnblogs.com/whkl-m/p/8466162.html
Copyright © 2011-2022 走看看