2020年春节已过,本来打算回郑州,却因为新型冠状病毒感染肺炎的疫情公司推迟了上班的时间,我也推迟了去郑州的时间,在家多陪娃几天.以前都是在书房学习写博客,今天比较特殊,抱着电脑,在楼顶晒着太阳,陪着家人,写着博客. 前面的几篇文章主要告诉大家如何安装.配置webpack.webpack实现样式分离等,今天这篇文章主要跟大家分享如果webpack如何实现代码分片. 现在工程项目中,实现高性能应用的其中重要的一点就是让用户每次只加载必要的资源,优先级别不太高的资源采用延迟加载等技术渐进地进行加载获…
前言: 大家好啊,昨天介绍了 TS 编译器的配置,但在我们实际开发当中直接使用 TS 编译器去编译代码的情况会有,但没有很多,因为我们在开发大型项目的时候,一般我们都会用到打包工具,也不可能脱离打包工具去使用 TS 所以我们的 TS 在大多数情况下都是结合着打包工具去使用的,比如webpack,vite... 而今天我们就学习如何用 webpack 打包我们的 TS 代码 安装: 首先第一步,我们要初始化我们项目,在目录下输入 npm init 接下来,我们的安装几个工具 npm i -D we…
以下是关于前端项目模块化的实践,包含以下内容: 搭建 NPM 私有仓库管理源码及依赖: 使用 Webpack 打包基础设施代码: 使用 TypeScript 编写可靠类库 使用 TypeScript 的收益 使用 Mocha/Jest 进行单元测试 [实现中] 本文是关于前端项目模板化的第2部分 现状 实际项目远远比示例使用的 myGreeting 复杂,比如 为了提高可维护性我们将项目折成了许多功能模板: 我们希望使用 Promise 等语法等,但是顾忌目标环境的支持能力: 可能依赖了多个第三…
写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ IDEA 作为工作最常用的开发工具之一,自然就成了我的主要升级对象,早上在逛IntelliJ IDEA 官网时,惊奇的发现居然有新版本更新,这让我有点喜出望外,没说的果断下载! IntelliJ IDEA 2020.1 这个版本除了修复日常bug,对调试器和事件探查器(Profiler)进行了改进,并…
开门见山 1.打包单一模块 webpack.config.js module.exports = { entry:"./chunk1.js", output: { path: __dirname + '/dist', filename: '[name].js' }, }; chunk1.js var chunk1=1; exports.chunk1=chunk1; 打包后,main.js(webpack生成的一些注释已经去掉) (function(modules) { // webpa…
问题:     使用webpack+vue做前端,使用tomcat提供api,然后npm run build之后需要将编译,生成如下文件: |   index.html \---appserver     +---css     |       app.9f4d9411ca2e49d41c43873d1ac872ea.css     |       app.9f4d9411ca2e49d41c43873d1ac872ea.css.map     |            +---img    …
前言 webpack是如何解析代码模块路径 webpack 中有一个很关键的模块 enhanced-resolve 就是处理依赖模块路径的解析的,这个模块可以说是 Node.js 那一套模块路径解析的增强版本,有很多可以自定义的解析配置. 模块解析规则 解析相对路径 查找相对当前模块的路径下是否有对应文件或文件夹 是文件则直接加载 是文件夹则继续查找文件夹下的 package.json 文件 有 package.json 文件则按照文件中 main 字段的文件名来查找文件 无 package.j…
webpack例子:https://github.com/Aquarius1993/webpackDemo 1. 需要全局和项目安装webpack和webpack-dev-server npm install webpack webpack-dev-server -g npm install webpack webpack-dev-server --save-dev 2. 配置webpack.config.js // 服务器配置相关 自动刷新 devServer: { historyApiFal…
在使用webpack时,主要有三种代码类型: 1.你或你的团队写的源码 2.第三方library或vendor代码 3.管理模块交互的runtime和manifest 什么是manifest文件? 通常我们使用时不会生出manifest文件,manifest文件混杂在我们生成的代码中 它包含三个主要对象module.installedModules.installedChunks module 所有的模块 installedModules 已安装模块 installedChunks 已安装的ch…
1.简单描述一下es6的模块导入和导出的语法: //导出:export var aa = 10;export function demo(){} //不能写成:var aa = 10;export aa;或者export 10;可以写成:var aa = 10;export {aa}; //可以导出的时候命名:var aa = 10;export {exname as aa} // 将aa导出为exname import的时候需要按该名称导入 // 使用 默认导出export default {…