摘要: 当 webpack 打包源代码时,可能会很难追踪到 error(错误) 和 warning(警告) 在源代码中的原始位置。 如果打包后代码有一处错误,特别是使用的vue、react这些前端框架。打包后很难定位问题。错误只能追踪到发生在打包后文件的哪个位置。打包后的文件不仅不方便阅读。还很难理解。 使 阅读全文
posted @ 2020-09-25 22:33 氵灬 阅读(165) 评论(0) 推荐(0) 编辑
摘要: clean-webpack-plugin 这个插件用来清空打包后的 dist 目录下的文件。可以避免每次打包前手动删除构建目录(dist)下的文件。 安装 clean-webpack-plugin cnpm i clean-webpack-plugin -D 依赖的模块(package.json) 阅读全文
posted @ 2020-09-20 11:27 氵灬 阅读(285) 评论(0) 推荐(0) 编辑
摘要: css-minimizer-webpack-plugin 这个插件也可以用来压缩 css 文件。和 optimize-css-assets-webpack-plugin 加 cssnano 的效果是一样的。 安装 css-minimizer-webpack-plugin cnpm i css-min 阅读全文
posted @ 2020-09-19 10:10 氵灬 阅读(2399) 评论(0) 推荐(0) 编辑
摘要: optimize-css-assets-webpack-plugin这个插件用来压缩css文件。去掉css文件中的换行和空格。optimize-css-assets-webpack-plugin内置了cssnano,安装了optimize-css-assets-webpack-plugin就不用在安 阅读全文
posted @ 2020-09-18 22:22 氵灬 阅读(1209) 评论(0) 推荐(0) 编辑
摘要: ExtractTextWebpackPlugin、MiniCssExtractPlugin 这个两个插件能够把样式提取为单独的.css 文件。不过更建议使用MiniCssExtractPlugin这个插件提取css文件。 安装 mini-css-extract-plugin cnpm i mini- 阅读全文
posted @ 2020-09-16 20:20 氵灬 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 安装 sass sass-loader dart-sass cnpm i sass sass-loader dart-sass -D 项目结构 project | .babelrc # babel-loader配置文件 | .editorconfig # 配置格式化插件 | package.json 阅读全文
posted @ 2020-09-15 23:33 氵灬 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 安装 less less-loader cnpm i less less-loader -D 项目结构 project | .babelrc # babel-loader配置文件 | .editorconfig # 配置格式化插件 | package.json # 项目需要的依赖 | webpack 阅读全文
posted @ 2020-09-14 19:19 氵灬 阅读(501) 评论(0) 推荐(0) 编辑
摘要: css-loader 会对 @import 和 url() 引入的.css文件进行处理,并且转换成commonjs模块,style-loader将样式通过style标签插入到DOM中。 在 webpack 中,css 文件通过 js 文件引入,css-loader 可以使 js 文件中引入的 css 阅读全文
posted @ 2020-09-13 21:22 氵灬 阅读(233) 评论(0) 推荐(0) 编辑
摘要: transform-runtime和babel-polyfill都是用于引入ES6+以后新增的的API,不同的babel-polyfill是生成一个全局对象 把 ES6 新增的 API 转换成 ES5,而transform-runtime生成一个局部对象,用到哪些API则编译哪些API。 安装 tr 阅读全文
posted @ 2020-09-12 19:56 氵灬 阅读(152) 评论(0) 推荐(0) 编辑
摘要: babel-loader 只能编译 ES6+以上版本的新增语法,比如箭头函数等,对于 ES6+新增的 API 则没法编译,这时候就可以使用 babel-polyfill 了。babel-polyfill 生成一个全局对象 把 ES6 新增的 API 转换成 ES5。 安装 babel-polyfil 阅读全文
posted @ 2020-09-11 23:25 氵灬 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 如果在 webpack.config.js 配置文件中写 babel-loader 的配置可能比较麻烦。则可以把 babel-loader 配置抽离出来单独配置。 项目结构(在根目录创建 .babelrc 文件作为 babel-loader 的配置文件) project | .babelrc # b 阅读全文
posted @ 2020-09-10 19:03 氵灬 阅读(345) 评论(0) 推荐(0) 编辑
摘要: Babel 是 JavaScript 编译器,用来将 ES6/ES7/ES8...等版本的代码转换成 ES3/ES5 等低版本浏览器支持的 js 语法。babel-loader 就是用来在 webpack 中处理 JavaScript 的编译器。 安装 babel-loader cnpm insta 阅读全文
posted @ 2020-09-09 22:28 氵灬 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 模块热替换(HMR - hot module replacement)功能会在应用程序运行过程中,替换、添加或删除 模块,而无需重新加载整个页面。主要是通过以下几种方式,来显著加快开发速度: 1.保留在完全重新加载页面期间丢失的应用程序状态。 2.只更新变更内容,以节省宝贵的开发时间。 3.在源代码 阅读全文
posted @ 2020-09-08 19:06 氵灬 阅读(197) 评论(0) 推荐(0) 编辑
摘要: webpack5 虽然已经出来了,不过现在主流还是webpack4。看了看5和4的文档,差别不是很大。 cnpm i webpack@next webpack-cli@next -D # 安装webpack5 webpack4 中文文档 参考 https://www.webpackjs.com/co 阅读全文
posted @ 2020-09-06 23:55 氵灬 阅读(145) 评论(0) 推荐(0) 编辑
摘要: plugin的概念 plugin用于打包优化,资源管理,注入环境变量、plugin则可以用于执行范围更广的任务。而 loader 只用于转换某些类型的模块。plugin作用于整个构建过程。plugin目的在于解决 loader 无法实现的其他事。 plugin的配置 plugin的使用:使用一个插件 阅读全文
posted @ 2020-09-05 22:55 氵灬 阅读(148) 评论(0) 推荐(0) 编辑
摘要: loader的概念 webpack 开箱可用的自带能力只能理解 JavaScript 和 JSON 文件。loader 让 webpack 能够去处理其他类型的文件,并将它们转换为有效模块,以供应用程序使用,以及被添加到依赖图中。loader本身是一个函数,接受源文件作为参数,返回转换的结果。 lo 阅读全文
posted @ 2020-09-03 23:33 氵灬 阅读(96) 评论(0) 推荐(0) 编辑
摘要: webpack配置文件 // webpack.config.js module.exports = { mode: "node", // 模式 entry: "", // 入口配置 output: {} // 输出配置 } entry配置单人口 // webpack.config.js module 阅读全文
posted @ 2020-09-02 19:10 氵灬 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 安装前的准备 关闭centos7防火墙 service firewalld stop # 关闭防火墙 配置yum阿里云镜像源 就起一个加速下载模块的作用 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.ba 阅读全文
posted @ 2020-08-03 21:35 氵灬 阅读(1076) 评论(0) 推荐(2) 编辑
摘要: 为啥要使用第三方图标库 微信小程序自带的icon组件默认只有9种类型的图标。在开发过程中,这个是肯定不够用的。也可以自己用css绘制图标,就是有点浪费时间。前端可以直接使用阿里巴巴矢量图标库。对于普通的网页,H5页面开发按照阿里巴巴矢量图标库的文档使用就行了。不过在微信小程序里应该如何使用是个问题, 阅读全文
posted @ 2020-01-05 19:01 氵灬 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 实现效果 用mousedown、mousemove、mouseup鼠标事件实现元素的移动。 mousedown:按下任意(左、中、右)鼠标键是触发。 mousemove:鼠标在元素上移动时触发。 mouseup:放开鼠标按键时触发。 <!DOCTYPE html> <html> <head> <me 阅读全文
posted @ 2019-09-10 22:33 氵灬 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 用代码测试下,同时用module.exports和exports导出属性,默认会使用谁导出的。 \\ app.json module.exports = { name: "module.exports", }; exports.name = "exports"; \\ main.js let app 阅读全文
posted @ 2019-08-30 23:59 氵灬 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 在CommonJS规范中,通过exports或module.exports导出一个模块。模块中存在require()方法,通过这个方法接受模块标识,然后根据node的模块引入规则引入模块。就能在模块使用引入模块的属性和方法了。 在node中引入模块,会经历以下三个步骤: 路径分析 文件定位 编译执行 阅读全文
posted @ 2019-08-29 22:15 氵灬 阅读(1353) 评论(0) 推荐(0) 编辑
摘要: 在 node 中,模块分为 核心模块 和 其他模块(也可以叫自定义模块,用户写的,或者从npm上下载下来的模块) 核心模块指的就是 node 提供的模块,如 fs、http 等模块。 核心模块是直接通过node源码直接编译成二进制文件 在node进程启动时,部分核心模块就直接加载在内存中了,比如 c 阅读全文
posted @ 2019-08-28 19:19 氵灬 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 在维基百科的CommonJS的目录下看到了这样一句话 在2013年5月,Node.js包管理器npm的作者Isaac Z. Schlueter,宣布Node.js已经废弃了CommonJS,Node.js核心开发者应避免使用它。 what?2013年就废弃了。现在都9102年了,感觉咋个只要一提到n 阅读全文
posted @ 2019-08-27 21:55 氵灬 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 安装提取样式的插件 npm i mini-css-extract-plugin -D npm i postcss-loader postcss -D 项目目录结构 F:\webpack-demo ├── dist/ | ├── index.html | ├── main.css <!-- 通过min 阅读全文
posted @ 2019-08-06 22:26 氵灬 阅读(182) 评论(0) 推荐(0) 编辑
摘要: css的预处理less、sass(scss)、stylus三选一就行。 js规范有ES3/ES5和ES6等等。那PostCSS就相当于把ES6转换成ES3/ES5的Babel。可以把css新特性转换成大多数浏览器都能理解的语法。 安装处理less、sass(scss)、stylus的loader n 阅读全文
posted @ 2019-08-05 20:28 氵灬 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 一般项目都有开发,测试,生产(线上)环境。有的可能还会存在演示、预发布等环境等。对于大部门项目来说,开发、测试、生产这3个环境就足够使用了。 配置环境所需模块 npm i webpack-merge -D npm i webpack-dev-server -D npm i @soda/friendl 阅读全文
posted @ 2019-08-04 22:23 氵灬 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 安装style-loader css-loader npm i style-loader css-loader -D 模块 loader 可以链式调用。链中的每个 loader 都将对资源进行转换。链会逆序执行。第一个 loader 将其结果(被转换后的资源)传递给下一个 loader,依此类推。最 阅读全文
posted @ 2019-08-03 20:18 氵灬 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 安装html-webpack-plugin npm i html-webpack-plugin -D 项目目录结构 F:\webpack-demo ├── dist/ <!-- 打包后生成的目录 --> | ├── index.html <!-- 打包后生成的html文件 --> | └── mai 阅读全文
posted @ 2019-08-02 22:17 氵灬 阅读(69) 评论(0) 推荐(0) 编辑