解決方案見評論區
版本如下CRMEB_PRO_PC_v3.0.1(20240326)
本地運行沒問題,打包后放到線上報錯Uncaught SyntaxError: Unexpected token '<'
按照網上的一些教程修改publicPath 為 / 和./都不行
服務器目錄結構如下
nutx.config.js配置如下
// const MODE = 'universal'; //靜態應用部署,打包命令 npm run generate
const MODE = 'spa'; //單頁面形式渲染模式,打包命令: npm run build
module.exports = {
buildDir: "nuxt-dist",
mode: MODE,
// mode: 'universal',
/*
** Headers of the page
*/
head: {
title: "CRMEB PC端模板演示",
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"
},
{
hid: "keywords",
name: "keywords",
content:
"CRMEB 新零售社交電商 社交電商系統 小程序商城系統 公眾號商城系統 商城系統源碼 免費商城系統 商城系統開發 開源商城系統 CRMEB源碼 微商城源碼 多店商城系統 小程序直播電商系統 知識付費系統源碼 SCRM 客戶管理 客戶營銷系統 多商戶商城 B2B2C B2C B2B O2O"
},
{
hid: "description",
name: "description",
content:
"CRMEB開源會員電商營銷系統,依托社交營銷應用場景,獨創將用戶管理系統與社交電商系統創新性深度集成,充分將公域流量轉為私域流量,幫助企業快速積累用戶并實現精準營銷,一次購買永久享受免費升級服務免費提供升級教程。咨詢:400-8888-794"
}
],
link: [{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" }],
script: []
},
env: {
baseUrl: ""
},
/*
** Customize the progress-bar color
*/
loading: { color: "#fff" },
/*
** Plugins to load before mounting the App
*/
plugins: [
"~/plugins/axios",
{ src: "./assets/iconfont/iconfont.js", ssr: false },
{ src: "~/plugins/vue-swiper.js", ssr: false },
{ src: "~/plugins/utils.js", ssr: false },
{ src: "~/plugins/debounce.js", ssr: false },
{ src: "~/plugins/element-ui", ssr: false },
{ src: "~/plugins/vueqr.js", ssr: false },
{ src: "~/plugins/vue-clipboard.js", ssr: false },
{ src: "~/plugins/v-viewer.js", ssr: false },
{ src: "~/plugins/vue-lazyload.js",ssr: false },
"~/plugins/main",
{ src: "@/plugins/router", ssr: false },
],
/*
** Nuxt.js modules
*/
modules: [
"@nuxtjs/axios",
"@nuxtjs/auth",
"cookie-universal-nuxt",
"nuxt-sass-resources-loader"
],
sassResources: ["~assets/theme/element-variables.scss"],
/*
** Global CSS
*/
css: [
"~assets/iconfont/iconfont.css",
"~assets/css/index.scss",
// "~theme/index.css",
{ src: "swiper/dist/css/swiper.css" }
],
router: {
middleware: ["auth"]
},
auth: {
strategies: {
local1: {
_scheme: "local",
endpoints: {
login: {
url: "/login",
method: "post",
propertyName: "token"
},
logout: {
url: "/logout",
method: "get"
},
user: {
url: "user",
method: "get",
propertyName: false
}
}
},
local2: {
_scheme: "local",
endpoints: {
login: {
url: "/login/mobile",
method: "post",
propertyName: "token"
},
logout: {
url: "/logout",
method: "get"
},
user: {
url: "user",
method: "get",
propertyName: false
}
}
},
local3: {
_scheme: "local",
endpoints: {
login: {
url: "/pc/wechat_auth",
method: "get",
propertyName: "token"
},
logout: {
url: "/logout",
method: "get"
},
user: {
url: "user",
method: "get",
propertyName: false
}
}
}
},
redirect: {
login: "/login",
logout: "/",
callback: "/login",
home: false
},
cookie: {
options: {
maxAge: 60 * 60 * 24 * 7
}
},
localStorage: false
},
axios: {
baseURL: ""
},
// proxy: {
// '/api': {
// target: 'https://www.sxitdlc.com/server/api',
// pathRewrite: {
// '^/api': '/',
// changeOrigin: true // 表示是否跨域
// }
// }
// },
/*
** Build configuration
*/
distDir: "build",
/*
** Build configuration
*/
build: {
publicPath: "/home/",
publicPathFolder: MODE === 'spa' ? '/' : '',
transpile: [
'element-ui/src/locale/lang/th'
],
/*
** You can extend webpack config here
*/
extend(config, ctx) {},
babel: {
plugins: [
[
"component",
{
libraryName: "element-ui",
styleLibraryName: "theme-chalk"
}
]
]
}
},
server: {
port: 10822,
host: "0.0.0.0" // default: localhost
}
};