一.解决什么问题      1.手写页面多入口,一个一个输入太麻烦,通过代码实现      2.手写多个htmlWebpackPlugin插件太麻烦,通过代码实现 二.多入口代码实现 //读取所有.js文件,动态设置多入口 function getEntry() { var entry = {}; //读取src目录下page下的所有.js文件 glob.sync('./src/pages/**/*.js') .forEach(function (name) { let start = name…
本系列主要介绍如何基于webpack实现多html页面开发框架,这里不讲webpack的基本概念,废话不多说,直奔主题! 前置条件: 1.安装node环境,自己去官网下载安装 2.新建文件夹webpack4_multi_page_frame,进入文件夹,运行npm init -y命令初始化 3.安装webpack和webpack-cli 运行命令npm install webpack webpack-cli --save-dev 实现的功能: 1.普通前端项目多html页面使用webpack打包…
本节主要介绍webpack打包的时候CSS的处理方式 一.解决什么问题      1.CSS打包      2.CSS处理浏览器兼容      3.SASS支持      4.CSS分离成单独的文件 二.创建目录结构 创建项目目录结构:参照上图创建即可 三.需要安装的包 style-loader:将 JS 字符串生成为 style 节点:       css-loader: 将 CSS 转化成 CommonJS 模块;  这两个合到一个命令:npm install --save-dev styl…
一.解决什么问题 1.如果a.js和b.js都引用了common.js,那在打包的时候common.js会被重复打入到a.js和b.js,造成重复打包 2.单独打包common.js对性能有帮助,浏览器下载一次后会缓存下来,不会重复下载 二.未抽取公共代码的状况 基于之前代码,测试如下: 1.在assets/js文件夹下新建common.js,输入如下代码: export function printCommon(){ console.log("common"); } 2.在src/i…
一.解决什么问题      1.开发环境js.css不压缩,可在浏览器选中代码调试      2.开发环境运行http服务指向打包后的文件夹      3.babel输出浏览器兼容的js代码 二.需要安装的包 babel-loader:输出浏览器兼容的js代码:命令: npm install --save-dev babel-loader @babel/core @babel/preset-env webpack-dev-server: 快速搭建本地运行环境:命令: npm install we…
一.解决什么问题      1.图片路径替换.并输出到打包目录      2.输出目录清理 二.需要安装的包 file-loader:html.css中图片路径替换,图片输出到打包目录:命令:npm install --save-dev file-loader url-loader: 在文件大小(单位 byte)低于指定的限制时,可以返回一个 DataURL,其依赖于file-loader:命令:npm install --save-dev url-loader clean-webpack-pl…
一.解决什么问题 1.如何引入第三方库,如jquery等 二.引入jquery方法 1.下载jquery.min.js放到assets/lib下面 2.安装copy-webpack-plugin,将已经存在的单个文件或整个目录复制到构建目录.命令:npm install copy-webpack-plugin --save-dev 3.在webpack.config.js进行配置,打包的时候把lib目录拷贝到构件目录,配置如下: //拷贝不进行打包的第三方库 new copyWebpackPlu…
一.解决什么问题 1.html中img引入的图片地址没有被替换,找不到图片 2.html公共部分复用问题,如头部.底部.浮动层等 二.html中img引入图片问题解决 1.在index.html插入img,引用图片<img src="../../assets/img/test.jpeg"> 2.npm run dev运行结果如下: 因为图片地址没有被替换为打包后的地址, 所以找不到图片   3.需要使用的包:html-withimg-loader,安装命令:npm inst…
前言 在对着产品高举中指怒发心中之愤后,真正能够解决问题的是自身上的改变,有句话说的好:你虽然改变不了全世界,但是你有机会改变你自己.秉承着“不听老人言,吃亏在眼前”的优良作风,我还是决定玩火自焚. 问题所在 之前的项目总结为以下内容: 1.AMD模块规范开发,使用requirejs实现,使用rjs打包,最终导致的结果是,输出的项目臃肿,肿的就像一坨狗不理……不忍直视2.使用gulp进行打包,这一点貌似没有可吐槽的地方,毕竟都是被grunt折磨过来的……3.数据的渲染使用模板引擎,这就意味着你要…
基于DDD的现代ASP.NET开发框架--ABP系列之3.ABP分层架构 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 前言 为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术.为了实现分层的体系结构,ABP遵循DDD(领域驱动设…