vue如何做多入口并只打包指定文件夹
时间: 2024-10-24 16:05:01 浏览: 11
Vue.js 可以通过配置 Webpack 的 entry 点来实现多入口模块打包,并且针对特定文件夹进行打包。以下是一个简单的步骤:
1. **创建入口点**:
在 `webpack.config.js` 文件中,你需要定义多个entry对象,每个对象代表一个单独的入口。例如:
```javascript
const entries = {
app1: './src/app1/main.js',
app2: './src/app2/main.js'
};
```
2. **配置alias**: 如果你想打包的文件不在项目根目录,可以使用 alias 来映射路径到正确的入口位置。
```javascript
resolve: {
alias: {
'@app1': path.resolve(__dirname, 'src/app1'),
'@app2': path.resolve(__dirname, 'src/app2')
}
},
```
3. **配置output**:
对于每个入口,你需要设置独立的输出文件路径:
```javascript
module.exports = {
// ...
output: {
filename: '[name].bundle.js', // 输出文件名可根据需求自定义
path: path.resolve(__dirname, 'dist'), // 输出文件夹
publicPath: 'your-public-url/' // 需要暴露的URL前缀
},
// ...
};
```
然后分别为每个入口配置输出:
```javascript
entry: Object.entries(entries).map(([name, entry]) => ({
name,
filename: `${name}.js`, // 输出文件名
chunkName: name, // 指定chunk名称
input: entry
}))
```
4. **打包时选择入口**:
当运行Webpack命令时,你可以指定要打包的应用,比如:
```bash
npx webpack --config webpack.config.js --entry=app1
npx webpack --config webpack.config.js --entry=app2
```
阅读全文