webpack之ts打包

tsconfig.json配置

 // 是否对js文件进行编译,默认false
    "allowJs": true,
    // 是否检查js代码是否符合语法规范,默认false(引入的外部文件有可能语法有问题)
    "checkJs": true,

allowJs和checkJs基本是同时出现,因为有了allowJs 这个检查,相对应的就要检查语法规范;

checkJs基本是false,因为在项目使用中,可能会引用外部文件,不能确定引入的文件的语法是否符合规范;

webpack配置

项目初始化

npm -init -y

生成package.json

下载构建工具

下载开发依赖 webpack

配置webpack相关

创建webpack.config.js文件

// 引入一个包
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: /\.ts$/, // 匹配所有.css结尾的文件
                use:['ts-loader'], // 应用的loader
                exclude: /node_modules/ // 排除node_modules中的文件
            }
        ]
    },
}

创建tsconfig.json文件

tsc --init

配置package.json打包命令行

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack"
  },

html-webpack-plugin

html生成

下载依赖

npm i -D html-webpack-plugin

webpack.config.js中配置

const HTMLWebPackPlugin = require('html-webpack-plugin')
  plugins: [
        // ��件:在 webpack 构建流程中的特定时机注入额外功能
        new HTMLWebPackPlugin({
          template:"./src/index.html", // ���模板路径
        })
    ],

 webpack-dev-server

安装webpack-dev-server依赖,监听项目改动,实时更新

npm i -D webpack-dev-server

修改package.json

~~ "serve": "webpack server --open chrome.exe"~~

 "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "serve": "webpack server --open --mode production"
  },

clean-webpack-plugin

每次打包时,先清空dist文件,再创建

// 引入clean-webpack-plugin来清除dist文件夹中的所有内容
const {CleanWebpackPlugin} = require('clean-webpack-plugin')
plugins: [
        new CleanWebpackPlugin(), // ���清除dist文件夹中的所有内容
        // ��件:在 webpack 构建流程中的特定时机注入额外功能
        new HTMLWebPackPlugin({
            title:"网页标题", // ���模板的标题
            template:"./src/index.html", // ���模板路径
        })
    ],

引入模块

resolve:{
        extensions: ['.ts', '.js'] // ��� webpack 如何��找模块
    }

 babel相关依赖

npm i -D @babel/core @babel/preset-env babel-loader core-js
  • @babel/preset-env:写的代码,兼容不同浏览器
  • babel-loader 结合
  • core-js

兼容ie浏览器

打包的代码包含箭头函数处理

environment:{
            // 定义在 webpack 构建期间可以修改的环境变量
            // NODE_ENV: process.env.NODE_ENV
            arrowFunction: false, // 关闭��头函数的返回值��号
        }

打包

npm run build

简单记个笔记

相关推荐

  1. webpackts打包

    2024-07-11 17:04:04       23 阅读
  2. 前端打包工具Webpack5

    2024-07-11 17:04:04       51 阅读
  3. Webpack打包

    2024-07-11 17:04:04       40 阅读
  4. Webpack打包

    2024-07-11 17:04:04       31 阅读
  5. 脚手架原理webpack处理html文件和模块打包

    2024-07-11 17:04:04       39 阅读
  6. webpack原理-打包流程&热更新HMR

    2024-07-11 17:04:04       40 阅读
  7. webpack 打包前端项目

    2024-07-11 17:04:04       50 阅读
  8. webpack 打包前端项目

    2024-07-11 17:04:04       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 17:04:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 17:04:04       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 17:04:04       58 阅读
  4. Python语言-面向对象

    2024-07-11 17:04:04       69 阅读

热门阅读

  1. 【ARMv8/v9 GIC 系列 6 -- 中断优先级详细介绍】

    2024-07-11 17:04:04       27 阅读
  2. 科研入门笔记

    2024-07-11 17:04:04       23 阅读
  3. 1984. 学生分数的最小差值

    2024-07-11 17:04:04       20 阅读
  4. 探索数据的星群:SKlearn聚类中心计算方法全解析

    2024-07-11 17:04:04       24 阅读
  5. 移动互联安全扩展要求测评项

    2024-07-11 17:04:04       18 阅读
  6. OSPF域内

    2024-07-11 17:04:04       19 阅读
  7. 继 承

    继 承

    2024-07-11 17:04:04      25 阅读
  8. 连续空格 换行white-space:pre-wrap;html2canvas

    2024-07-11 17:04:04       20 阅读
  9. 【AMBA】漫谈AHB总线(二~四)

    2024-07-11 17:04:04       19 阅读
  10. 最适合高功能自闭症儿童康复的治疗方法

    2024-07-11 17:04:04       20 阅读
  11. 【C语言】符号优先级详解 -《谁与争锋 ! 》

    2024-07-11 17:04:04       24 阅读