1.需要安装的依赖
| "dependencies": { |
| "html-webpack-plugin": "^5.5.0", |
| "ts-loader": "^9.2.6", |
| "ts-node": "^10.4.0", |
| "tslib": "^2.3.1", |
| "typescript": "^4.4.4", |
| "webpack": "^5.60.0", |
| "webpack-cli": "^4.9.1", |
| "webpack-dev-server": "^4.4.0" |
| }, |
| "scripts": { |
| "test": "echo \"Error: no test specified\" && exit 1", |
| "build": "webpack", |
| "serve": "webpack serve" |
| }, |
2. webpack.config.js配置
| const path = require('path').resolve(__dirname, './dist') |
| const htmlWebpackPlugin = require('html-webpack-plugin') |
| |
| module.exports = { |
| |
| mode: 'development', |
| |
| entry: './src/main.ts', |
| output: { |
| path, |
| filename: 'bundle.js' |
| }, |
| resolve: { |
| |
| extensions: ['.ts', '.js', '.cjs', '.json'] |
| }, |
| |
| module: { |
| |
| rules: [ |
| { |
| test: /\.ts$/, |
| loader: 'ts-loader' |
| } |
| ] |
| }, |
| plugins: [ |
| |
| new htmlWebpackPlugin({ |
| template: './index.html' |
| }) |
| ] |
| } |
3.index.html 模板文件
| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8" /> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <title>ts Learn</title> |
| <script src="./src/main.ts"></script> |
| </head> |
| <body></body> |
| </html> |
5. 文件结构

6.遇到问题
| 扩展规则少了 js文件的匹配 |
| Module not found: Error: Can |
| |
| htmlWebpackPlugin需要通过new构造使用 |
| ypeError: Class constructor HtmlWebpackPlugin cannot be invoked without |
| at Object.<anonymous> (/Users/zdz/Desktop/LearnCode/learn-code/Ts/webpack.config.js:28:5) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?