dl_site_nuxt/nuxt.config.js
2025-09-02 09:47:21 +08:00

225 lines
6.0 KiB
JavaScript

const axios = require('axios')
const env = require('./env');
const webpack = require('webpack')
export default {
buildDir: 'nuxt-dist',
transition: {
name: 'page',
mode: 'out-in'
},
/*
** Headers of the page
*/
head: {
title: 'China Trailer, Truck, Trailer Parts, Truck Parts Manufacturers and Factory - Price - SINOTRUCK',
meta: [
{ charset: 'utf-8' },
{ name: 'apple-mobile-web-app-capable', content: "yes" },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'http-equiv', 'http-equiv': "X-UA-Compatible", content: "IE=edge" },
{
name: 'keywords',
content: 'China Trailer, Truck, Trailer Parts, Truck Parts Manufacturers and Factory - Price - SINOTRUCK,trailer, truck, trailer parts, truck parts'
},
{
name: 'description',
content: 'Sinotruck Howo Sales Co.,Ltd is one of the most professional trailer, truck, trailer parts, truck parts manufacturers in China. Our factory brings here a great selection of truck for sale. Welcome to consult price with us.'
}
],
link: [
// { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
],
script: [
// { type:"text/javascript" , src: 'https://api.map.baidu.com/api?v=1.0&type=webgl&ak=otBoKESzaUj1nGjWiehnCP3AUyRKgikx'}
//AI助手js
// {type:"text/javascript" , src: 'http://101.245.103.204/embed.min.js',id:"BC985VI4DnedSaIQ",defer:true}
]
},
env: {
NUXT_ENV: env[process.env.MODE]
},
/*
** Customize the progress-bar color
*/
loading: { color: '#015fe8' },
/*
** Global CSS
*/
css: [
'~assets/css/base.css',
'~assets/css/quill.bubble.css',
'~assets/css/quill.snow.css',
'~assets/css/quill.core.css',
'~assets/css/common.scss',
'element-ui/lib/theme-chalk/index.css'
],
/*
** Plugins to load before mounting the App
*/
plugins: [
'~plugins/main',
'~plugins/axios',
// { src: "~plugins/websocket.js", ssr: true },
{ src: "~plugins/router.js", ssr: true },
{ src: "~plugins/i18n.js", ssr: true },
{ src: "~plugins/element-ui.js", ssr: true },
{ src: "~plugins/vue-piczoom.js", ssr: false },
{ src: "~plugins/swiper.js", ssr: false },
{ src: "~plugins/siteicon.js", ssr: false },
],
/*
** Nuxt.js modules
*/
modules: [
// Doc: https://bootstrap-vue.js.org/docs/
'@nuxtjs/axios',
'cookie-universal-nuxt',
'nuxt-sass-resources-loader',
'bootstrap-vue/nuxt',
'@nuxtjs/sitemap'
],
bootstrapVue: {
icons: false
},
sitemap: {
hostname: 'http://www.lighting-it.cn',
sitemaps: [
{
path: '/sitemap.xml',
routes: [
'/pages.xml',
'/products.xml',
'/inquiry.xml',
'/article-page.xml',
'/separate.xml'
],
gzip: true
},
{
path: '/pages.xml',
routes: ['/'],
},
{
path: '/products.xml',
routes: async () => {
const { data: res} = await axios.get('http://114.132.197.85:8099/web/siteMap?catgType=cp&tenantId=main')
return res.data.map(item => {
return {
url: `/products/${item.id}?catgId=${item.id}&maxCatgId=${item.maxCatgId}`,
changefreq: 'daily',
priority: 1
}
})
},
gzip: true
},
{
path: '/inquiry.xml',
routes: async () => {
const { data: res} = await axios.get('http://114.132.197.85:8099/web/siteMap?catgType=xp&tenantId=main')
return res.data.map(item => {
return {
url: `/inquiry?maxCatgId=${item.maxCatgId}?title=${item.title}`,
changefreq: 'daily',
priority: 1
}
})
},
gzip: true
},
{
path: '/article-page.xml',
routes: async () => {
const { data: res} = await axios.get('http://114.132.197.85:8099/web/siteMap?catgType=wz&tenantId=main')
return res.data.map(item => {
return {
url: `/article-page/${item.id}?catgId=${item.id}&maxCatgId=${item.maxCatgId}`,
changefreq: 'daily',
priority: 1
}
})
},
gzip: true
},
{
path: '/inquiry.xml',
routes: async () => {
const { data: res} = await axios.get('http://114.132.197.85:8099/web/siteMap?catgType=dym&tenantId=main')
return res.data.map(item => {
return {
url: `/separate?maxCatgId=${item.maxCatgId}?title=${item.title}`,
changefreq: 'daily',
priority: 1
}
})
},
gzip: true
},
]
},
router: {
middleware: ['burying-point','i18n', 'footer', 'header']
},
/*
** Build configuration
*/
distDir: 'build',
build: {
postcss: null,
/*
** You can extend webpack config here
*/
extend (config, ctx) {
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"windows.jQuery": "jquery",
'root.jQuery': 'jquery'
}),
],
babel: {
compact: false,
configFile: false,
babelrc: false,
presets: [
[
'@nuxt/babel-preset-app',
{
useBuiltIns: 'entry',
corejs: 3
}
]
],
plugins: [
["@babel/plugin-proposal-decorators", { "legacy": true }],
["@babel/plugin-proposal-class-properties", { "loose": true }],
["@babel/plugin-proposal-private-methods", { "loose": true }],
["@babel/plugin-proposal-private-property-in-object", { "loose": true }],
]
},
transpile: [
'bootstrap-vue',
'element-ui',
]
},
generate: {
routes: [
]
},
server: {
port: 3001,
host: '0.0.0.0', // default: localhost
proxy: {
'/dev': {
target: 'http://114.132.197.85:8099/',
pathRewrite: { '^/dev': '' },
changeOrigin: true,
}
}
},
}