Error: No module factory available for dependency type: CssDependency
解决办法:
参考:解决webpack打包报错 No module factory available for dependency type: CssDependency
在执行 build 命令期间移除所有的 console
babel-plugin-transform-remove-console 官方文档传送门
可以通过 vue-ui 面板,选择开发依赖,然后输入 babel-plugin-transform-remove-console 进行安装
npm
Javascript
npm install babel-plugin-transform-remove-console --save-dev
安装依赖之后,打开 babel.config.js文件,在 plugins 插件处,添加一个字符串,'transform-remove-console',如下图所示位置。
Javascript
module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ], plugins: [ [ 'component', { libraryName: 'element-ui', styleLibraryName: 'theme-chalk' } ], 'transform-remove-console' ] }
上述设置好了之后,还存在一个问题,我们只需要在发布阶段才会去除 console ,在开发和测试环境下如果去除了 console,对于我们调试方面不太好。因此,我们需要设置只在生产环境下去除 console。
通过上下两个图比较,我们可以发现,在开发环境下 mode 值为 development,而在生产环境下mode 值为 production。
因此,上述代码就需要进行些微修改,如下所示:
Javascript
// 项目发布阶段需要用到的 babel 插件 const prodPlugins = [] // 判断编译模式为生产环境 if (process.env.NODE_ENV === 'production') { prodPlugins.push('transform-remove-console') } module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ], plugins: [ [ 'component', { libraryName: 'element-ui', styleLibraryName: 'theme-chalk' } ], ...prodPlugins ]