• 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
      }
    }
  • 相关阅读:
    新男人八题---AStringGame
    hihocoder1457
    SPOJ
    后缀自动机
    牛客练习赛13D
    Educational Codeforces Round 38
    Binary Differences
    laravel 带条件的分页查询
    url添加时间戳
    安卓无法上传照片
  • 原文地址:https://www.cnblogs.com/zmztya/p/14718671.html
Copyright © 2020-2023  润新知