webpack 使用笔记
参考链接:http://www.runoob.com/w3cnote/webpack-tutorial.html
Webpack 是一个前端资源加载/打包工具。
Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求。
PS:安装 Webpack 前,你本地环境需要支持 node.js。
PS:webpack4.0以上版本的webpack的脚手架webpack-cli已经被被分离出来了,需要另外安装。
npm install webpack --g npm install webpack-cli --g
1-1.使用淘宝 NPM 镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
1-2.使用 cnpm 安装 webpack
cnpm install webpack -g
1-3.创建项目app
mkdir app
1-4.在app里面添加 index.html 和 runoob1.js
<!-- index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script src = "bundle.js" charset="utf-8" type="text/javascript"></script> </body> </html> // runoob1.js document.write("It works.");
1-5.使用 webpack 命令来打包
webpack runoob1.js bundle.js
PS: 如果出现错误,那就使用更加严谨的命令
npx webpack runoob1.js -o bundle.js --mode development
1-6.创建另一个js文件 runoob2.js
module.exports = "It works from runoob2.js.";
1-7.更新runoob1.js文件
document.write(require("./runoob2.js"));
1-8.使用webpack进行打包
npx webpack runoob1.js -o bundle.js --mode development
总结:webpack 根据模块的依赖关系进行静态分析,这些文件(模块)会被包含到 bundle.js 文件中。Webpack 会给每个模块分配一个唯一的 id 并通过这个 id 索引和访问模块。 在页面启动时,会先执行 runoob1.js 中的代码,其它模块会在运行 require 的时候再执行。
2-1.LOADER:ebpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换。所以如果我们需要在应用中添加 css 文件,就需要使用到 css-loader 和 style-loader,他们做两件不同的事情,css-loader 会遍历 CSS 文件,然后找到 url() 表达式然后处理他们,style-loader 会把原来的 CSS 代码插入页面中的一个 style 标签中。
2-2.安装css-loader 和 style-loader(全局安装需要参数 -g)。
cnpm install css-loader style-loader
执行以上命令后,会再当前目录生成 node_modules 目录,它就是 css-loader 和 style-loader 的安装目录。
2-3.创建一个 style.css 文件
body { background: yellow; }
2-4.修改 runoob1.js 文件
require("!style-loader!css-loader!./style.css"); document.write(require("./runoob2.js"));
2-5. webpack 命令来打包
npx webpack runoob1.js -o bundle.js --mode development
2-6.访问css和js都被加载。
本文作者:轻风细雨_林木木
本文链接:https://www.cnblogs.com/linzhifen5/p/16961387.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步