ValidationError: Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema. - options[0] misses the property 'patterns'. Should be: [non-empty string | object { from, to?, context?, globOptions?, toType?, force?, flatten?, transform?, cacheTransform?, transformPath?, noErrorOnMissing? }, ...] (should not have fewer than 1 item) - options[1] misses the property 'patterns'. Should be: [non-empty string | object { from, to?, context?, globOptions?, toType?, force?, flatten?, transform?, cacheTransform?, transformPath?, noErrorOnMissing? }, ...] (should not have fewer than 1 item) vue.js npm
module.exports = { plugins: [ new CopyWebpackPlugin({ patterns: [ { from: Path.resolve('./modules/web/static/'), to: './assets' }, { from: Path.resolve('./modules/web/static/favicon.ico'), to: './' }, ] }), new TsChecker({ typescript: { configFile: Path.resolve('tsconfig.json') } }),
//cesium相关资源目录需要拷贝到系统目录下面 // new CopyWebpackPlugin([{ // from: path.join(cesiumSourcePath, 'Workers'), // to: path.join(config.output.path, cesiumRunPath, 'Workers') // }]), // new CopyWebpackPlugin([{ // from: path.join(cesiumSourcePath, 'Assets'), // to: path.join(config.output.path, cesiumRunPath, 'Assets') // }]), // new CopyWebpackPlugin([{ // from: path.join(cesiumSourcePath, 'ThirdParty'), // to: path.join(config.output.path, cesiumRunPath, 'ThirdParty') // }]), // new CopyWebpackPlugin([{ // from: path.join(cesiumSourcePath, 'Widgets'), // to: path.join(config.output.path, cesiumRunPath, 'Widgets') // }])
new CopyWebpackPlugin({ patterns: [{ from: path.join(cesiumSourcePath, 'Workers'), to: path.join(config.output.path, cesiumRunPath, 'Workers') }, { from: path.join(cesiumSourcePath, 'Assets'), to: path.join(config.output.path, cesiumRunPath, 'Assets') }, { from: path.join(cesiumSourcePath, 'ThirdParty'), to: path.join(config.output.path, cesiumRunPath, 'ThirdParty') }, { from: path.join(cesiumSourcePath, 'Widgets'), to: path.join(config.output.path, cesiumRunPath, 'Widgets') } ] }),