webpack打包TS

博客主要介绍了Webpack的安装配置与打包流程。包括生成package.json、安装依赖环境、创建webpack.config.js文件、配置tsconfig.json和package.json的scripts项,还涉及自动生成html文件、内置服务器、清空dist目录文件等操作,以及安装babel等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

npm init -y

生成package.json

安装依赖环境

npm i -D webpack webpack-cli typescript ts-loader

webpack配置信息

创建文件webpack.config.js

//引入一个包
const path = require('path')

//引入html插件
const HTMLWebpackPlugin = require('html-webpack-plugin);

//引入clean插件
const = { CleanWebpackPlugin } = require('clean-webpack-plugin')

//webpack中所有的配置信息都应该写在module.exports中
module.exports = {
    
    //指定入口文件
    entry: "./src/index.ts",

    //指定打包文件所在目录
    output: {
        //指定打包文件的目录
        path: path.resolve(__dirname, 'dist'),
        //打包后文件的文件
        filename: "bundle.js",
        //告诉webpack不使用箭头函数(兼容IE)
        environment: {
            arrowFunction: false
        }
    },

    //指定webpack打包时要使用的模块
    module: {
        
        //指定要加载的规则
        rules: [
            {
                //test指定规则生效的文件
                test: /\.ts$/,
                //要使用的loader
                use: [
                    //配置babel
                    {
                        //指定加载器
                        loader: 'babel-loader',
                        //设置babel
                        options: {
                            //设置预定义环境
                            presets: [
                                //指定环境的插件
                                "@babel/preset-env",
                                //配置信息
                                {    //要兼容的目标的浏览器
                                    targets:{
                                        "chrome": "88"
                                    }//指定corejs的版本
                                    "corejs": "3",
                                    "useBuiltIns": "useage",    //使用corejs方式,按需加载
                                }
                            ]
                        }
                    }
                    ,
                    'ts-loader'
                ],
                //要排除的文件
                exclude: /node-module/
            }
        ]
    }
    
    //配置webpack插件
    plugins: [
        new CleanWebpackPlugin(),
        new HTMLWebpackPlugin(options: {
            title: '这是一个自定义的title',
            //生成自定义模版
            template: "./src/index.html"
        });
    ],
    
    //用来设置引用模块
    resolve: {
        extensions: ['.ts', '.js']
    }
}

tsconfig.json配置:

{
    "compilerOptions": {
        "module": "ES2015",
        "target": "ES2015",
        "strict": true
    }
}

package.json的scripts配置项里添加:

"build": "webpack"

打包

npm run build

自动生成html文件,下载插件:

npm i -D html-webpack-plugin    //在上述webpack.config.js中引入

内置服务器,打开网页:

npm i -D webpack-dev-server

package.json的scripts配置项里添加:

"start": "webpack server --open chrome.exe"

执行命令:

npm start

清空dist目录文件,保证每次构建为最新文件

npm i -D clean-webpack-plugin     //在上述webpack.config.js中引入

在webpack.config.js中配置,告诉他哪些可以作为模块使用

//用来设置引用模块
    resolve: {
        extensions: ['.ts', '.js']
    }

安装babel

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

修改webpack.config.js

use: [
                    //配置babel
                    {
                        //指定加载器
                        loader: 'babel-loader',
                        //设置babel
                        options: {
                            //设置预定义环境
                            presets: [
                                //指定环境的插件
                                "@babel/preset-env",
                                //配置信息
                                {    //要兼容的目标的浏览器
                                    targets:{
                                        "chrome": "88"
                                    }//指定corejs的版本
                                    "corejs": "3",
                                    "useBuiltIns": "useage",    //使用corejs方式,按需加载
                                }
                            ]
                        }
                    }
                    ,
                    'ts-loader'
                ],

要使用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、付费专栏及课程。

余额充值