色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue ssr 打包c(diǎn)ss

Vue的SSR(Server-Side Rendering)是指在服務(wù)器端生成前端頁(yè)面的技術(shù)。SSR的優(yōu)點(diǎn)是可以提高首屏渲染速度、SEO友好、支持懶加載等功能。而在實(shí)現(xiàn)SSR的過程中,CSS打包是必要的步驟。

在SSR中,由于需要在服務(wù)器端渲染HTML,所以需要將CSS打包進(jìn)JS文件中,然后在服務(wù)器端將JS文件讀取出來,并以字符串形式返回給瀏覽器。因此,需要使用合適的工具來打包CSS。

// webpack.server.conf.js
const path = require('path');
const merge = require('webpack-merge');
const base = require('./webpack.base.conf');
const MiniCSSExtractPlugin = require('mini-css-extract-plugin');
module.exports = merge(base, {
mode: 'production',
target: 'node',
entry: './src/entry-server.js',
output: {
filename: 'server-bundle.js',
libraryTarget: 'commonjs2'
},
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCSSExtractPlugin.loader,
'css-loader'
]
}
]
},
plugins: [
new MiniCSSExtractPlugin({
filename: 'style.css',
chunkFilename: '[id].css',
})
]
});

在webpack的server配置中,需要使用 MiniCSSExtractPlugin 將樣式打包成獨(dú)立的css文件,而不是將其直接打包到JS代碼中。這里的filename選項(xiàng)是樣式文件的文件名,而chunkFilename 是打包后每個(gè)chunk的文件名,可以根據(jù)需要自定義。

// entry-server.js
// 引入Vue組件
import Vue from 'vue';
import App from './App.vue';
// 引入樣式
import './style.css';
export default context =>{
const app = new Vue({
render: h =>h(App),
}).$mount();
// 將渲染后的HTML和CSS返回給瀏覽器
return {
html: app.$el.outerHTML,
style: context.renderStyles(),
};
};

在entry-server.js文件中,需要引入樣式文件,這樣在服務(wù)端渲染的時(shí)候才能將樣式打包進(jìn)JS文件中。而在Vue實(shí)例被創(chuàng)建時(shí),需要通過context.renderStyles() 來獲取到打包后的樣式,然后將其返回給瀏覽器。

在Vue SSR中,打包CSS是必要的步驟。在打包CSS時(shí),需要注意樣式文件的文件名和chunk文件名的配置,以及在Vue組件中正確地引入樣式文件,在entry-server.js文件中正確地返回打包后的樣式文件。