当前位置: 首页 > news >正文

webpack项目工程初始化

一、初始化项目

默认系统已经安装node

//初始化
pnpm init//安装webpack
pnpm i -D webpack webpack-cli

新建一个index.html的入口文件

新建一个src文件存放js代码,src里面新建一个index.js

package.josn配置打包命令

{"name": "webpack-cs","version": "1.0.0","description": "","main": "index.js","scripts": {"build": "webpack"},"keywords": [],"author": "","license": "ISC","devDependencies": {"webpack": "^5.89.0","webpack-cli": "^5.1.4"}
}

然后命令行输入 npm run build,就会默认生成一个dist文件里面有一个main.js

这个时候webpack默认会找根文件下的src/index.js 打包

二、新建打包配置文件webpack.config.js

因为需要在node中运行,需要用commonjs来写配置文件

/*** 类型提示* @type {import("webpack").Configuration}*/
const config = {};
module.exports = config;

配置入口和输出文件

/*** 类型提示* @type {import("webpack").Configuration}*/
const config = {entry: './src/index.js',output: {filename: 'build.js',path: './build'}
};
module.exports = config;

这个时候打包会报错,这是因为输出文件必须是一个绝对路径,

需要用到node的path这个包,通过path.resolve(__dirname, './build')获取绝对路径 

const path = require('path')/*** 类型提示* @type {import("webpack").Configuration}*/
const config = {entry: './src/index.js',output: {filename: 'build.js',path: path.resolve(__dirname, './build')}
};
module.exports = config;

看看打包的文件

这个时候我们写ESModule CommonJS AMD CMD,webpack都能把我们的文件转成浏览器兼容的js文件

三、如何修改打包文件名

我们将webpack.config.js改为word.config.js,如何让webpack识别打包的配置文件

需要修改package.json的打包命令 --config 指定打包文件

{"name": "webpack-cs","version": "1.0.0","description": "","main": "index.js","scripts": {"build": "webpack --config ./word.config.js"},"keywords": [],"author": "","license": "ISC","devDependencies": {"webpack": "^5.89.0","webpack-cli": "^5.1.4"}
}


下一章我们开始处理css

http://www.lryc.cn/news/247229.html

相关文章:

  • 08-学成在线项目中统一异常处理的规范
  • 解析生效探测方法
  • 【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷11
  • 视频集中存储/磁盘阵列EasyCVR平台黑名单异常解决步骤是什么?
  • Spring Boot + MyBatis-Plus实现数据库读写分离
  • 数据同步异常处理,数据同步重试机制(Java)
  • STM32F407-14.3.5-01捕获_比较通道
  • 【Python 训练营】N_12 打印菱形图案
  • risc-v异常处理
  • SQL注入-数据库基础/SQL语法
  • Blazor Select 实现点击一次选项触发一次后台事件
  • 只会在终端使用Python运行代码?这些高级用法了解了解
  • 图论 2023.11.27
  • 蓝桥杯day02——Fizz Buzz
  • socket 一个完整的不错的示例
  • 第10关:基数排序
  • torch::和at:: factory function的差別
  • 与珎同行录-开篇-231129
  • linux logrotate日志轮询设置案例一
  • Android 12.0 禁用adb reboot recovery命令实现正常重启功能
  • 使用Jmeter进行http接口测试
  • Linux内存管理(六十三):ION 内存管理器——cma heap
  • 条形码格式
  • Java通过Redis进行延时队列,定时发布消息(根据用户选择时间进行发布)
  • 从 0 搭建 Vite 3 + Vue 3 Js版 前端工程化项目
  • 【论文阅读笔记】Smil: Multimodal learning with severely missing modality
  • 在Windows系统上安装git-Git的过程记录
  • qt QString常用方法
  • 吴恩达《机器学习》10-6-10-7:学习曲线、决定下一步做什么
  • 分子骨架跃迁工具-DiffHopp 评测