是否有办法禁用类星体应用程序附带的默认quasar.css
?
它几乎有12000行长,我不打算使用它。我找不到任何提到你如何做到这一点的东西,所以我认为这是不可能做到的。
我得到的解决方案是quasar v2
,但我很确定它应该与v1
工作。
最终结果很简单:
// quasar.config.js
build: {
chainWebpack (chain) {
chain.resolve.alias.set('quasar/dist/quasar.css', false)
chain.resolve.alias.set('quasar/dist/quasar.prod.css', false)
chain.module.rule('sass').exclude.add(path.resolve(__dirname, '../../node_modules/quasar/dist/quasar.sass'))
chain.module.rule('scss').exclude.add(path.resolve(__dirname, '../../node_modules/quasar/dist/quasar.scss'))
}
}
chain.resolve.alias.set
在.quasar/client-entry.js
文件中照顾import 'quasar/dist/quasar.css'
。进一步说明请参见https://webpack.js.org/configuration/resolve/#resolvealias
设置的决心。别名为false会告诉webpack忽略一个模块。
chain.module.rule
部分禁用sass/scss
的处理。注意,如果不使用workspaces
(https://docs.npmjs.com/cli/v7/using-npm/workspaces或https://classic.yarnpkg.com/lang/en/docs/workspaces/),则需要修改../../node_modules
路径。
确保删除quasar.variables.(sass|scss)
,这样类星体就不会试图加载它的css。
注意:不要使用IgnorePlugin
,因为导入的模块将在构建期间被删除(参见https://github.com/webpack/webpack/issues/2858)
另一个注意事项:我只在SPA模式下测试了这个,但如果我在测试其他模式时遇到任何问题,我会更新答案。
//quasar.conf.js Quasar plugins
plugins: [],
removeDefaultCss: true