Ты мой последний шанс на победу! Я хочу объединить все мои фрагментированные файлы css в один, но даже если я попытаюсь извлечь: true; в файле vue .config это не работает. У меня всегда была дюжина кусков, если не больше :( Вот мой файл vue .config:
const webpack = require('webpack')
const path = require('path')
const cssnano = require('cssnano')
const autoprefixer = require('autoprefixer')
const isProduction = process.env.NODE_ENV === 'production'
const routes = app => {
app.use('/health', (_, res) => {
res.end(
JSON.stringify({
status: 'OK',
})
)
})
}
const skipRequests = [
'/default.css.map',
'/autotrack.js.map',
'/detectizr.min.map',
]
const publicPath = process.env.CDN_PATH || '/'
console.log('Building app with publicPath : ', publicPath)
module.exports = {
publicPath: publicPath,
assetsDir: 'assets',
css: {
sourceMap: !isProduction,
loaderOptions: {
scss: {
data: `$cdnPath: "${process.env.CDN_PATH || ''}";`,
},
postcss: {
plugins: [
autoprefixer({
browsersList: ['last 2 versions', 'iOS >= 10'],
}),
cssnano({
preset: `default`,
}),
],
},
},
},
lintOnSave: !isProduction ? 'warning' : false,
productionSourceMap: false,
transpileDependencies: ['@akryum'],
chainWebpack: webpackConfig => {
// https://github.com/Akryum/vue-cli-plugin-ssr/issues/158
const htmlSsrPlugin = webpackConfig.plugins.get('html-ssr')
if (htmlSsrPlugin) {
htmlSsrPlugin.store.get('args')[0].chunks = []
}
const svgRule = webpackConfig.module.rule('svg')
svgRule.uses.clear()
svgRule
.use('vue-svg-loader')
.loader('vue-svg-loader')
.options({
svgo: {
plugins: [{ removeViewBox: false }],
},
})
},
configureWebpack: webpackConfig => {
;(webpackConfig.optimization = {
splitChunks: isProduction ? false : undefined,
}),
(webpackConfig.plugins = [
...webpackConfig.plugins,
new webpack.DefinePlugin({
CDN_PATH: JSON.stringify(process.env.CDN_PATH || ''),
}),
])
},
pluginOptions: {
ssr: {
// Function to connect custom middlewares
extendServer: app => routes(app),
extendContext: (_, res, process) =>
(res.locals.startTime = process.hrtime.bigint()),
skipRequests: req =>
skipRequests.filter(toSkip => req.originalUrl.endsWith(toSkip))
.length > 0,
error500Html: path.resolve(__dirname, './public/error500.html'),
onRender: (res, context) => {
// use to log time to load page in SSR
const endTime = process.hrtime.bigint() - res.locals.startTime
console.log(
'rendered page [%s] in %i ms',
context.url,
Number(endTime / BigInt(1000000))
)
},
},
},
}
Мог ли он появиться, потому что я импортирую свой css таким образом?
<template>
<div>lorem ipsum</div>
</template>
<style lang="scss">
@import '../../assets/sass/figimmo/components/ui-kit/mentions-inquiries';
</style>
Если да, не могли бы вы сказать мне, как лучше всего справиться с s css?
Спасибо!