typeScript 之 (5) 打包

 

注意执行以下命令安装包

复制代码
npm init -y
npm i typescript
npm i ts-loader
npm i webpack  -g
npm i webpack-cli  -g
npm html-webpack-plugin
npm webpack-dev-server
npm @babel/core
npm @babel/preset-env
npm babel-loader
npm core-js
复制代码

 

package.json 去配置

执行 npm run start 就可以运行

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "start": "webpack serve --open chrome.exe"
  },

 

webpack.config.js 配置

 

复制代码
const {resolve} = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const {CleanWebpackPlugin} = require('clean-webpack-plugin')

module.exports = {
 entry:['./src/index.ts'],
 output:{
  filename:'bundle.js',
  path:resolve(__dirname,'dist'),
  // 打包时不要箭头函数
  environment:{
    arrowFunction:false
  }
 },
 module:{
   rules:[
     {
       test:/\.ts$/,
       use:[
         {
          loader:'babel-loader',
          options:{
            //设置预定义的环境
            presets:[
              [
                '@babel/preset-env',
                {
                  //按需加载
                  useBuiltIns:'usage',
                  "corejs":{
                    version:3
                  },
                  targets:{
                    chrome:'68',
                    firefox:'60',
                    ie:'9',
                    safari:'10',
                    edge:'17'
                  }
                }
              ]
            ]
          }
         },
         'ts-loader'
      ],
       exclude:/node_modules/
     },
   ]
 },
 plugins:[
    new CleanWebpackPlugin(),
    new HtmlWebpackPlugin({
      template:'./src/index.html'
    })
 ],
 mode:"development",
 devServer:{
   hot:true
 },
 resolve:{
   //省略后缀名
   extensions:['.ts','.js']
 }

}
复制代码

 

 

tsconfig.json

{
  "compilerOptions": {
    "module":"es2015",
    "target":"es2015",
    // 这个是总检查配置的总开关(只与三个属性有关)
    "strict": true
  }
}

 

posted @   zmztyas  阅读(571)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示