webpack打包

一、模块化

1.Es6可以浏览器模块和服务器模块开发

	(1)每个js文件都是独立的模块;
	(2)导入模块成员使用import;
	(3)导出模块成员使用export ;

2.node.js通过babel体验Es6模块化;

① npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node
② npm install --save @babel/polyfill
③ 项目跟目录创建文件 babel.config.js
④ babel.config.js 文件内容如下代码

 const presets = [
 ["@babel/env", {
     
 targets: {
     
 edge: "17",
 firefox: "60",
 chrome: "67",
 safari: "11.1"
 }
 }]
 ];
 module.exports = {
      presets };

⑤ 通过 npx babel-node index.js 执行代码
3.导入导出三种模式
(1)默认:

  • 默认导出语法 export default 默认导出的成员

  • 默认导入语法 import 接收名称 from ‘模块标识符’

(2)按需:

  • 按需导出语法 export let s1 = 10

  • 按需导入语法 import { s1 } from ‘模块标识符’

(3)直接导出

  • import '文件'
    执行代码:
npx babel-node 文件.js

二、webpack打包工具

打包文件案例:
1.创建文件
(1)新建项目空白目录,并运行npm init -y 命令,初始化包管理配置文件 package.json
(2) 新建src源代码目录
(3)在src下面创建index.html首页
(4)运行 npm i 需要下载的包
2.使用工具打包;
① 运行 npm install webpack webpack-cli –D 命令,安装 webpack 相关的包
② 在项目根目录中,创建名为 webpack.config.js 的 webpack 配置文件
③ 在 webpack 的配置文件中,初始化如下基本配置:

module.exports = {
     
 mode: 'development' // mode 用来指定构建模式
}

④ 在 package.json 配置文件中的 scripts 节点下,新增 dev 脚本如下:

"scripts": {
     
"dev": "webpack" // script 节点下的脚本,可以通过 npm run 执行
}

⑤ 在终端中运行 npm run dev 命令,启动 webpack 进行项目打包。

3.配置文件打包入口和出口
webpack 的 4.x 版本中默认约定:

  • 打包的入口文件为 src -> index.js

  • 打包的输出文件为 dist -> main.js
    如果要修改打包的入口与出口,可以在 webpack.config.js 中新增如下配置信息:

const path = require('path') // 导入 node.js 中专门操作路径的模块
module.exports = {
     
 entry: path.join(__dirname, './src/index.js'), // 打包入口文件的路径
 output: {
     
 path: path.join(__dirname, './dist'), // 输出文件的存放路径
 filename: 'bundle.js' // 输出文件的名称
 } }

4. 配置 webpack 的自动打包功能
① 运行 npm install webpack-dev-server –D 命令,安装支持项目自动打包的工具
② 修改 package.json -> scripts 中的 dev 命令如下:
③ 将 src -> index.html 中,script 脚本的引用路径,修改为 "/buldle.js“
④ 运行 npm run dev 命令,重新进行打包
⑤ 在浏览器中访问 http://localhost:8080 地址,查看自动打包效果

"scripts": {
     
 "dev": "webpack-dev-server" // script 节点下的脚本,可以通过 npm run 执行
}

注意:

  • webpack-dev-server 会启动一个实时打包的 http 服务器
  • webpack-dev-server 打包生成的输出文件,默认放到了项目根目录中,而且是虚拟的、看不见的

5. 配置 html-webpack-plugin 生成预览页面
① 运行 npm install html-webpack-plugin –D 命令,安装生成预览页面的插件
② 修改 webpack.config.js 文件头部区域,添加如下配置信息:

// 导入生成预览页面的插件,得到一个构造函数
const HtmlWebpackPlugin = require('html-webpack-plugin')
const htmlPlugin = new HtmlWebpackPlugin({
      // 创建插件的实例对象
 template: './src/index.html', // 指定要用到的模板文件
 filename: 'index.html' // 指定生成的文件的名称,该文件存在于内存中,在目录中不显示
})

③ 修改 webpack.config.js 文件中向外暴露的配置对象,新增如下配置节点:

module.exports = {
     
 plugins: [ htmlPlugin ] // plugins 数组是 webpack 打包期间会用到的一些插件列表
}

6. 配置自动打包相关的参数

// package.json中的配置
 // --open 打包完成后自动打开浏览器页面
 // --host 配置 IP 地址
 // --port 配置端口
 "scripts": {
     
 "dev": "webpack-dev-server --open --host 127.0.0.1 --port 8888"
 }

你可能感兴趣的:(webpack,node.js)