uni-app vue.config.js 配置无效 不管写些什么都被忽略
uni-app vue.config.js 配置无效 不管写些什么都被忽略
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10 | HBuilderX |
操作步骤:
const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin88')
console.log(111)
module.exports = {
configureWebpack: {
plugins: [
new CopyWebpackPlugin([{
from: path.join(__dirname, 'cloud'),
to: path.join(__dirname, 'unpackage', 'dist', process.env.NODE_ENV === 'production' ?
'build' : 'dev', process.env.UNI_PLATFORM, 'cloud'),
}, ])
]
}
}
2 回复
vite.config.js
在 uni-app
项目中,vue.config.js
的配置可能会被忽略,这是因为 uni-app
使用的是基于 webpack
的自定义构建配置,而不是直接使用 Vue CLI
的配置。因此,vue.config.js
的配置在 uni-app
中可能不会生效。
要解决这个问题,你可以通过以下几种方式来配置 uni-app
项目:
1. 使用 configureWebpack
和 chainWebpack
uni-app
提供了 configureWebpack
和 chainWebpack
选项,你可以在 vue.config.js
中使用这些选项来修改 webpack
配置。
// vue.config.js
module.exports = {
configureWebpack: {
// 在这里添加你的 webpack 配置
plugins: [
// 添加插件
],
resolve: {
alias: {
// 添加别名
}
}
},
chainWebpack: config => {
// 使用 chainWebpack 修改 webpack 配置
config.module
.rule('vue')
.use('vue-loader')
.tap(options => {
// 修改 vue-loader 的选项
return options;
});
}
};
2. 使用 uni-app
的 manifest.json
和 pages.json
uni-app
的 manifest.json
和 pages.json
文件可以用来配置应用的一些全局设置和页面路由等。这些配置会直接影响 uni-app
的构建过程。
3. 使用 uni-app
的 webpack
插件
uni-app
提供了一些内置的 webpack
插件,你可以通过 vue.config.js
来启用或配置这些插件。
// vue.config.js
module.exports = {
chainWebpack: config => {
// 使用 uni-app 的 webpack 插件
config.plugin('uni-app').use(require('@dcloudio/webpack-uni-app-plugin'));
}
};
4. 使用 uni-app
的 HBuilderX
配置
如果你使用的是 HBuilderX
开发工具,你可以通过 HBuilderX
的配置界面来修改项目的构建配置,这些配置会直接应用到 uni-app
的构建过程中。
5. 检查 uni-app
版本
确保你使用的 uni-app
版本是最新的,因为不同版本的 uni-app
可能会有不同的配置方式。你可以通过以下命令来更新 uni-app
:
npm update @dcloudio/uni-app
6. 使用 uni-app
的 vue.config.js
模板
uni-app
提供了一个 vue.config.js
的模板,你可以参考这个模板来配置你的项目。
// vue.config.js
module.exports = {
transpileDependencies: ['uni-app'],
configureWebpack: {
plugins: [
// 添加插件
],
resolve: {
alias: {
// 添加别名
}
}
},
chainWebpack: config => {
// 使用 chainWebpack 修改 webpack 配置
config.module
.rule('vue')
.use('vue-loader')
.tap(options => {
// 修改 vue-loader 的选项
return options;
});
}
};