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

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

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

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

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

webpack              webpack工具
webpack-cli         webpack命令行工具

typescript             TS包

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

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

webpack

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

// 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在项目中的配置文件

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

 package.json

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

{
  "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打包 最基本的功能已经处理完了。


http://www.kler.cn/a/451246.html

相关文章:

  • 【Git】-- 版本说明
  • 每天40分玩转Django:Django国际化
  • 【Kibana01】企业级日志分析系统ELK之Kibana的安装与介绍
  • 学习一下USB DFU
  • AI驱动的数据分析:利用自然语言实现数据查询到可视化呈现
  • 2.在 Vue 3 中使用 ECharts 实现动态时间轴效果
  • Android Studio打开一个外部的Android app程序
  • embeding 层到底是什么
  • YOLOv8 引入高效的可变形卷积网络 DCNv4 | 重新思考用于视觉应用的动态和稀疏算子
  • 【hackmyvm】BlackWidow靶机wp
  • MongoDB教程002:文档(表)的增删改查
  • 如何在防火墙上指定ip访问服务器上任何端口呢
  • websocket再项目中的使用
  • java提高正则处理效率
  • Unity3D 控制Spine刷新率详解
  • Linux xargs 命令使用教程
  • nginx—rewrite功能
  • SQL中的约束
  • 数据库管理系统——NoSQL之文档数据库(MongoDB)
  • WEB UI 创建视图