3.学习webpack配置 尝试打包ts文件

1.初始化项目并安装依赖

npm init -y 初始化一个新项目

使用npm i -d webpack webpack-cli typescript ts-loader给项目加上webpack的相关包(webpack工具和webpack命令行工具)

webpack webpack工具
webpack-cliwebpack命令行工具

typescriptTS包

ts-loader将ts和webpack工具整合的包

2.进行webpack和typescript的基本配置

webpack

新建一个webpack.config.js文件 这个文件是webpack在项目中的配置文件

javascript 复制代码
// nodejs的模块 帮助我们拼接路径
const path = require("path");

// webpack中所有的配置信息 都应该写在module.exports中
module.exports = {
  //指定入口文件
  entry: "./src/index.ts",
  // 指定打包文件所在的目录
  output: {
    //指定打包后的目录
    path: path.resolve(__dirname, "dist"),
    // 打包后文件的名字
    filename: "bundle.js",
  },
  // 指定webpack打包时 使用的模块
  module: {
    // 指定要加载的规则
    rules: [
      {
        // test指定的是规则生效的文件
        test: /\.ts$/, //匹配所有的以ts结尾的文件
        use: "ts-loader", //用tsloader来处理以ts结尾的文件
        exclude: /node-modules/, //排除文件
      },
    ],
  },
};

tsconfig.json

新建一个tsconfig.json文件 这个文件是typescript在项目中的配置文件

javascript 复制代码
{
  "compilerOptions": {
    //编译器的选项
    // target 用来指定ts编译为js的版本
    "target": "es6",
    "module": "es6",
    "strict": true
  }
}

package.json

在package.json中配置webpack的打包命令

javascript 复制代码
{
  "name": "part2",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "ts-loader": "^9.5.1",
    "typescript": "^5.7.2",
    "webpack": "^5.97.1",
    "webpack-cli": "^6.0.1"
  }
}

尝试打包一下

可以发现我们的打包是成功的,并且在dist目录中出现了bundle.js文件,这说明使用webpack打包 最基本的功能已经处理完了。

相关推荐
Mintopia2 分钟前
Web 安全与反编译源码下的权限设计:构筑前后端一致的防护体系
前端·安全
L***一2 分钟前
2026届大专跨境电商专业毕业生就业能力提升路径探析
学习
输出输入4 分钟前
前端核心技术
开发语言·前端
Mintopia9 分钟前
Web 安全与反编译源码下的权限设计:构建前后端一体的信任防线
前端·安全·编译原理
.小墨迹15 分钟前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
ZH154558913125 分钟前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter
林深现海29 分钟前
Jetson Orin nano/nx刷机后无法打开chrome/firefox浏览器
前端·chrome·firefox
Gain_chance31 分钟前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
hqyjzsb35 分钟前
盲目用AI提效?当心陷入“工具奴”陷阱,效率不增反降
人工智能·学习·职场和发展·创业创新·学习方法·业界资讯·远程工作
黄诂多43 分钟前
APP原生与H5互调Bridge技术原理及基础使用
前端