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 @ 2021-04-29 16:53  zmztyas  阅读(569)  评论(0编辑  收藏  举报