1、新建文件夹(文件夹不能使用中文)
2、初始化
1). 初始化包
npm init -y
2).下载依赖
npm i webpack webpack-cli typescript ts-loader -D
3).新建文件
1.新建src文件夹,文件夹下新建main.js入口文件
2.新建webpack.config.js文件,跟src文件夹同级
const path = require('path')
module.exports = {
entry: './src/main.js',
output: {
path: path.resolve(__dirname,'dist'),
filename: 'bundle.js'
},
module: {
rules:[
{
test: /\.ts?/,
use: [
'ts-loader',
],
// 要排除的文件
exclude: /node_modules/
}
]
},
plugins:[
],
mode: ''
}
3.新建tsconfig.json文件
{
"compilerOptions": {
"module": "es6",
"target": "es6",
"strict": false
}
}
3、打包
进入到package.json文件夹下,在”scripts”属性下添加
"scripts": {
"build": "webpack --config ./webpack.config.js",
"dev": "webpack serve --config ./webpack.config.js",
"start": "npm run dev"
},
执行npm run build
,即可打包。
执行npm run dev
,即可启动项目。
执行npm start
相当于npm run dev
4、引入插件
1.下载html-webpack-plugin
,自动在html页面中引入打包好的js文件,配置如下
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
...
plugins:[
new HtmlWebpackPlugin({ //在plugins中使用
template: path.resolve(__dirname,'public/index.html') //将publicw文件下的index.html文自动引入打包好的js文件
}
)
]
}
2.下载webpack-dev-server
,启用后自动监视代码的修改,并且实时地修改,配置如下
module.exports = {
...
devServer: {
host: "localhost", // 启动服务器域名
port: "3000", // 启动服务器端口号
open: true // 是否自动打开浏览器
}
}
5)、设置引用模块
原因: 如果一个ts文件引入另一个ts文件,打包时会报错,需要如下配置
module.exports = {
...
resolve: {
extensions: ['.ts', '.js'] //配置可以引用的模块,此处表示可以引入ts文件和js文件
}
}