【TypeScript】第三部分 webpack打包TS

【TypeScript】第三部分 webpack打包TS



3. webpack打包TS

3.1 打包步骤

通常情况下,实际开发中我们都需要使用构建工具对代码进行打包,TS同样也可以结合构建工具一起使用,下边以webpack为例介绍一下如何结合构建工具使用TS。

步骤:

  1. 初始化项目: npm init -y ,主要作用就是为了生成package.json文件

  2. 下载构建工具:

    npm i -D webpack webpack-cli webpack-dev-server typescript ts-loader html-webpack-plugin clean-webpack-plugin

    共安装了7个包

    构建工具作用
    webpack构建工具 webpack
    webpack-cliwebpack的命令行工具
    webpack-dev-serverwebpack的开发服务器
    typescript构建工具 typescript
    ts-loaderts加载器,用于在webpack中编译ts文件
    html-webpack-pluginwebpack中html插件,用来自动创建html文件
    clean-webpack-pluginwebpack中的清除插件,每次构建都会先清除目录
  3. 创建tsconfig.json文件

    {
        "compilerOptions": {
            "module": "es2015",
            "target": "es2015",
            "strict": true
        }
    }
    
  4. 创建webpackconfig.js文件

    const {resolve}  = require('path')
    
    // 引如html插件
    const HtmlWebpackPlugin = require('html-webpack-plugin')
    
    // 引入clear插件
    const {CleanWebpackPlugin} = require('clean-webpack-plugin')
    
    module.exports = {
        entry:'./src/index.ts',
        output:{
            filename:'js/index.js',
            path:resolve(__dirname,'build')
        },
        module:{
            rules:[
                {
                    test:/\.ts$/,
                    use:['ts-loader'],
                    exclude:/node_modules/
                }
            ]
        },
        plugins:[
            new HtmlWebpackPlugin({
                template:'./src/index.html'
            }),
            new CleanWebpackPlugin()
        ],
        // 用来设置引入模块规则
        resolve:{
            //告诉webpack哪些文件可以导入
            extensions:['.js','.css','.ts']
        },
        mode:'development'
    
    }
    

3.2 配置babel

​ 经过上述的配置,使得TS和webpack已经结合到了一起,除了webpack,开发中还经常需要结合babel来对代码进行转换以使其可以兼容到更多的浏览器,在上述步骤的基础上,通过以下步骤再将babel引入到项目中。

下载: npm i -D @babel/core @babel/preset-env babel-loader core-js

构建工具作用
@babel/corebabel核心工具
@babel/preset-envbabel预设环境
babel-loaderbabel在webpack中的加载器
core-jscore-js用来使得老版本的能够兼容ES新版本
const {resolve}  = require('path')

// 引如html插件
const HtmlWebpackPlugin = require('html-webpack-plugin')

// 引入clear插件
const {CleanWebpackPlugin} = require('clean-webpack-plugin')
module.exports = {
 entry:'./src/index.ts',
 output:{
     filename:'js/index.js',
     path:resolve(__dirname,'build'),
   	environment:{
         //告诉webpack不使用箭头函数
         arrowFunction:false
     }
 },
 module:{
     rules:[
         {
             test:/\.ts$/,
             use:[
                 //配置babel
                 {
                     //指定加载器
                     loader:'babel-loader',
                     //设置babel
                     options:{
                           //配置预设环境
                           presets:[
                             [
                                 //指定预设环境的插件
                                " @babel/preset-env",
                                 {
                                     //需要兼容目标浏览器的版本
                                     targets:{
                                         "chrome":58,
                                         "ie":11
                                     },
                                     //指定corejs的版本
                                     "corejs":"3",
                                     //指定corejs的方式,usage:按需加载
                                     useBuiltIns:'usage'
                                 }
                             ]
                         ]
                     }
                 },
                 {
                   loader:"ts-loader"
                 }
             ],
             exclude:/node_modules/
         }
     ]
 },
 plugins:[
     new HtmlWebpackPlugin({
         template:'./src/index.html'
     }),
     new CleanWebpackPlugin()
 ],
 // 用来设置引入模块规则
 resolve:{
     //告诉webpack哪些文件可以导入
     extensions:['.js','.css','.ts']
 },
 mode:'development'

}

总结

以上就是今天要讲的内容,希望对大家有所帮助!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用webpack打包typescript文件,您需要安装以下依赖项: 1. `webpack`: 用于打包应用程序。 2. `webpack-cli`: 用于在命令行上运行webpack。 3. `ts-loader`: 用于加载typescript文件并将其转换为JavaScript。 4. `typescript`: 用于编写typescript代码。 安装这些依赖项后,您可以创建一个webpack配置文件,在此文件中指定您的入口点和输出文件。以下是一个例子: ```javascript // webpack.config.js module.exports = { entry: './src/index.ts', output: { filename: 'bundle.js', path: __dirname + '/dist' }, resolve: { extensions: ['.ts', '.js'] }, module: { rules: [ { test: /\.ts$/, loader: 'ts-loader', exclude: /node_modules/ } ] } }; ``` 在此配置中,我们指定了`entry`和`output`属性,以及`resolve`和`module`属性。`entry`指定应用程序的入口点,`output`指定打包后的文件名和输出目录。`resolve`属性用于指定要解析的文件扩展名。在这种情况下,我们使用`.ts`和`.js`扩展名。`module`属性使用`rules`属性指定将要使用的加载器。在这种情况下,我们使用`ts-loader`来加载和转换typescript文件。 现在,您可以在命令行上运行webpack,它将使用您的配置文件来打包您的应用程序。例如: ``` webpack --config webpack.config.js ``` 这将打包您的应用程序,并将输出文件保存在`dist/bundle.js`中。 注意:在运行webpack之前,您需要确保您的typescript代码是有效的,并且没有任何错误。您可以使用`tsc`命令来编译typescript代码,并查找任何错误。例如: ``` tsc src/index.ts ``` 这将编译`src/index.ts`文件,并生成一个JavaScript文件。如果有任何错误,它们将显示在命令行上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值