先说结论:版本问题!改用5.0.0的版本即可
情况说明:
- 为了让uniapp编译的时候将小程序的云函数也打包进去,网上都推荐使用copy-webpack-plugin每次编译时将整个云函数文件夹复制到dist文件内(不是,网上都是同一篇)
- 但是当我安装完改插件后却报错没安装webpack,将webpack也安装之后还是报错,而且错误不明,看上去是源码内部没有将错误抛出来
- 尝试多次无果后改其源码终于得到报错信息,patterns的类型错误,但是官网的介绍方法中根本没有patterns这个参数,在npm的介绍中找到了正确的用法
const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')
module.exports = {
configureWebpack: {
plugins: [
new CopyWebpackPlugin({
patterns:[
{
from: path.join(__dirname, 'cloudfunctions'),
to: path.join(__dirname, 'unpackage/dist', process.env.NODE_ENV === 'production' ? 'build' : 'dev', process.env
.UNI_PLATFORM, 'cloudfunctions')
}
]
})
]
}
}
- 但是还是编译有问题,另一个报错信息,看上去也像是插件的问题
- 最后通过这个搜索该报错在cloud社区找到了问题所在,copy-webpack-plugin的版本问题,我们现在自动安装的都是最新版本的,但是网上同一篇相关文章应该是很早以前的,当时是低版本,所以安装低版本的插件即可