-
初始化
npm init -y
-
安装项目依赖
cnpm i -D webpack webpack-cli typescript ts-loader
-
根目录下创建webpack.config.js
webpack.config.js设置
// 引入包
const path = require('path')
// html-webpack-plugin (会自动生成一个html,webpack下面的插件)
const HtmlWebpackPlugin = require('html-webpack-plugin')
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打包时要使用的模块
module: {
// 指定要加载的规则
rules: [
{
// test指定规则生效的文件
test: /\.ts$/, // 以ts结尾的文件
// 要使用的loader,用于编译ts文件
use: 'ts-loader',
// 要排除的文件
exclude: /node-modules/
}
]
},
// 配置webpack插件
plugins: [
new CleanWebpackPlugin(), // 将dist文件删除之后再重新生成,保证dist文件下一直保持最新的状态
new HtmlWebpackPlugin({
// title: '自定义的title'
template: './src/index.html'
})
],
// 用来设置引入模块
resolve: {
extensions: ['.ts', '.js'] // 告诉webpack ts与js文件可以用于导入导出
}
}
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack",
"dev": "webpack serve --open chrome.exe"
},
启动项目安装依赖 cnpm i -D webpack-dev-server