提交 4dec6918 authored 作者: 王鹏飞's avatar 王鹏飞

vite

上级 6570157e
VITE_LOGIN_URL=https://login.ezijing.com/auth/login/index
VITE_PC_PREVIEW_URL=https://shop.ezijing.com
VITE_H5_PREVIEW_URL=https://h5-shop.ezijing.com
VITE_LOGIN_URL=https://login2.ezijing.com/auth/login/index
VITE_PC_PREVIEW_URL=https://shop2.ezijing.com
VITE_H5_PREVIEW_URL=https://h5-shop2.ezijing.com
VITE_LOGIN_URL=https://login2.ezijing.com/auth/login/index
VITE_PC_PREVIEW_URL=https://shop2.ezijing.com
VITE_H5_PREVIEW_URL=https://h5-shop2.ezijing.com
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
<script type="module" src="/src/main.js"></script>
<script src="https://webapp-pub.ezijing.com/plugins/tinymce/tinymce.min.js"></script> <script src="https://webapp-pub.ezijing.com/plugins/tinymce/tinymce.min.js"></script>
<script <script
type="text/javascript" type="text/javascript"
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -6,8 +6,9 @@ ...@@ -6,8 +6,9 @@
"scripts": { "scripts": {
"lint": "eslint --ext .js --ext .jsx --ext .vue src/", "lint": "eslint --ext .js --ext .jsx --ext .vue src/",
"lint:fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/", "lint:fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/",
"dev": "cross-env NODE_ENV=development node build/getSSL.js && cross-env NODE_ENV=development SERVER_PORT=3001 webpack-dev-server --inline --progress --config build/webpack.client.conf.js", "dev": "vite",
"build:test": "npm run check:node && cross-env NODE_ENV=test webpack --progress --config build/webpack.client.conf.js && cross-env NODE_ENV=test node ./build/uploadAliyunCDN.js", "build": "vite build --mode test",
"build:test": "vite build --mode test",
"build:pro": "npm run check:node && cross-env NODE_ENV=production webpack --progress --config build/webpack.client.conf.js && cross-env NODE_ENV=production node ./build/uploadAliyunCDN.js", "build:pro": "npm run check:node && cross-env NODE_ENV=production webpack --progress --config build/webpack.client.conf.js && cross-env NODE_ENV=production node ./build/uploadAliyunCDN.js",
"check:node": "node build/checkNodeVersion.js" "check:node": "node build/checkNodeVersion.js"
}, },
...@@ -63,6 +64,8 @@ ...@@ -63,6 +64,8 @@
"style-loader": "^2.0.0", "style-loader": "^2.0.0",
"url-loader": "^4.1.1", "url-loader": "^4.1.1",
"vconsole-webpack-plugin": "^1.5.2", "vconsole-webpack-plugin": "^1.5.2",
"vite": "^2.4.1",
"vite-plugin-vue2": "^1.7.2",
"webpack": "^4.44.2", "webpack": "^4.44.2",
"webpack-cli": "^3.3.12", "webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0", "webpack-dev-server": "^3.11.0",
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
</app-upload> </app-upload>
</template> </template>
<script> <script>
import AppUpload from './upload' import AppUpload from './upload.vue'
export default { export default {
name: 'AppUploadImage', name: 'AppUploadImage',
components: { AppUpload }, components: { AppUpload },
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
</app-upload> </app-upload>
</template> </template>
<script> <script>
import AppUpload from './upload' import AppUpload from './upload.vue'
export default { export default {
name: 'AppUploadImage', name: 'AppUploadImage',
components: { AppUpload }, components: { AppUpload },
......
...@@ -28,7 +28,7 @@ export default { ...@@ -28,7 +28,7 @@ export default {
methods: { methods: {
logout() { logout() {
this.$store.dispatch('logout').then(() => { this.$store.dispatch('logout').then(() => {
window.location.href = `${webConf.others.loginUrl}?rd=${encodeURIComponent(window.location.href)}` window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(window.location.href)}`
}) })
} }
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</template> </template>
<script> <script>
import MessageItem from './messageItem' import MessageItem from './messageItem.vue'
export default { export default {
props: { value: { type: Array, default: () => [] } }, props: { value: { type: Array, default: () => [] } },
components: { MessageItem }, components: { MessageItem },
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</template> </template>
<script> <script>
import skuGroup from './skuGroup' import skuGroup from './skuGroup.vue'
import { getSkuNameList } from '@/api/goods' import { getSkuNameList } from '@/api/goods'
export default { export default {
......
...@@ -34,13 +34,13 @@ export default { ...@@ -34,13 +34,13 @@ export default {
return this.$store.state.shop return this.$store.state.shop
}, },
shopUrl() { shopUrl() {
return `${webConf.others.h5PreviewUrl}/shop?shop_id=${this.shopId}` return `${import.meta.env.VITE_H5_PREVIEW_URL}/shop?shop_id=${this.shopId}`
} }
}, },
methods: { methods: {
logout() { logout() {
this.$store.dispatch('logout').then(() => { this.$store.dispatch('logout').then(() => {
window.location.href = `${webConf.others.loginUrl}?rd=${encodeURIComponent(window.location.href)}` window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(window.location.href)}`
}) })
} }
} }
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
</template> </template>
<script> <script>
import AppSidebar from './sidebar' import AppSidebar from './sidebar.vue'
import AppHeader from './header' import AppHeader from './header.vue'
import AppMain from './main' import AppMain from './main.vue'
export default { export default {
name: 'AppLayout', name: 'AppLayout',
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</template> </template>
<script> <script>
import AppBreadcrumb from './breadcrumb' import AppBreadcrumb from './breadcrumb.vue'
export default { export default {
name: 'AppMain', name: 'AppMain',
props: { hasBreadcrumb: { type: Boolean, default: true } }, props: { hasBreadcrumb: { type: Boolean, default: true } },
......
...@@ -33,9 +33,9 @@ ...@@ -33,9 +33,9 @@
</template> </template>
<script> <script>
import TableList from '@/components/base/tableList' import TableList from '@/components/base/tableList.vue'
import { getGoodsList } from '@/api/goods' import { getGoodsList } from '@/api/goods'
import GoodsItem from '@/components/goods/goodsItem' import GoodsItem from '@/components/goods/goodsItem.vue'
export default { export default {
props: { multiple: { type: Boolean, default: false } }, props: { multiple: { type: Boolean, default: false } },
......
...@@ -137,13 +137,13 @@ ...@@ -137,13 +137,13 @@
<script> <script>
// 组件 // 组件
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import AppUpload from '@/components/base/upload' import AppUpload from '@/components/base/upload.vue'
import AppUploadVideo from '@/components/base/uploadVideo' import AppUploadVideo from '@/components/base/uploadVideo.vue'
import Sku from '@/components/goods/sku' import Sku from '@/components/goods/sku.vue'
import SkuView from '@/components/goods/skuView' import SkuView from '@/components/goods/skuView.vue'
import Message from '@/components/goods/message' import Message from '@/components/goods/message.vue'
import Editor from '@/components/tinymce' import Editor from '@/components/tinymce/index.vue'
// 接口 // 接口
import { addGoods, updateGoods, getGoodsList, getSkuList } from '@/api/goods' import { addGoods, updateGoods, getGoodsList, getSkuList } from '@/api/goods'
export default { export default {
......
...@@ -50,10 +50,10 @@ ...@@ -50,10 +50,10 @@
<script> <script>
// 组件 // 组件
import TableList from '@/components/base/tableList' import TableList from '@/components/base/tableList.vue'
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import ShareQrcode from '@/components/goods/shareQrcode' import ShareQrcode from '@/components/goods/shareQrcode.vue'
import GoodsItem from '@/components/goods/goodsItem' import GoodsItem from '@/components/goods/goodsItem.vue'
// 接口 // 接口
import { getGoodsList, deleteGoods, updateGoodsStatus } from '@/api/goods' import { getGoodsList, deleteGoods, updateGoodsStatus } from '@/api/goods'
...@@ -161,7 +161,7 @@ export default { ...@@ -161,7 +161,7 @@ export default {
}, },
// 推广 // 推广
handlePromote(row) { handlePromote(row) {
this.shareUrl = `${webConf.others.h5PreviewUrl}/buy?shop_id=${row.shop_id}&spu_id=${row.spu_id}` this.shareUrl = `${import.meta.env.VITE_H5_PREVIEW_URL}/buy?shop_id=${row.shop_id}&spu_id=${row.spu_id}`
this.shareDialogVisible = true this.shareDialogVisible = true
}, },
// 复制 // 复制
......
...@@ -29,10 +29,10 @@ ...@@ -29,10 +29,10 @@
<script> <script>
// 组件 // 组件
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import TableList from '@/components/base/tableList' import TableList from '@/components/base/tableList.vue'
import ShareQrcode from '@/components/goods/shareQrcode' import ShareQrcode from '@/components/goods/shareQrcode.vue'
import GroupEdit from './edit' import GroupEdit from './edit.vue'
// 接口 // 接口
import { getGroupList, deleteGroup } from '@/api/goods' import { getGroupList, deleteGroup } from '@/api/goods'
...@@ -98,7 +98,7 @@ export default { ...@@ -98,7 +98,7 @@ export default {
}, },
// 推广 // 推广
handlePromote(row) { handlePromote(row) {
this.shareUrl = `${webConf.others.h5PreviewUrl}/shop?shop_id=${row.shop_id}&group_id=${row.group_id}` this.shareUrl = `${import.meta.env.VITE_H5_PREVIEW_URL}/shop?shop_id=${row.shop_id}&group_id=${row.group_id}`
this.shareDialogVisible = true this.shareDialogVisible = true
} }
}, },
......
...@@ -54,10 +54,10 @@ ...@@ -54,10 +54,10 @@
</template> </template>
<script> <script>
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import UserAutocomplete from '@/components/base/userAutocomplete' import UserAutocomplete from '@/components/base/userAutocomplete.vue'
import OrderAutocomplete from '@/components/order/orderAutocomplete' import OrderAutocomplete from '@/components/order/orderAutocomplete.vue'
import SelectGoods from '@/components/order/selectGoods' import SelectGoods from '@/components/order/selectGoods.vue'
import { addOrder, getSkuList } from '@/api/order' import { addOrder, getSkuList } from '@/api/order'
export default { export default {
components: { AppCard, UserAutocomplete, OrderAutocomplete, SelectGoods }, components: { AppCard, UserAutocomplete, OrderAutocomplete, SelectGoods },
......
...@@ -105,9 +105,9 @@ ...@@ -105,9 +105,9 @@
</template> </template>
<script> <script>
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import TableList from '@/components/base/tableList' import TableList from '@/components/base/tableList.vue'
import GoodsItem from '@/components/goods/goodsItem' import GoodsItem from '@/components/goods/goodsItem.vue'
import { getOrderList, getOrderLogs } from '@/api/order' import { getOrderList, getOrderLogs } from '@/api/order'
export default { export default {
......
...@@ -81,9 +81,9 @@ ...@@ -81,9 +81,9 @@
<script> <script>
import dayjs from 'dayjs' import dayjs from 'dayjs'
// 组件 // 组件
import TableList from '@/components/base/tableList' import TableList from '@/components/base/tableList.vue'
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import GoodsItem from '@/components/goods/goodsItem' import GoodsItem from '@/components/goods/goodsItem.vue'
// 接口 // 接口
import { getOrderSearchList } from '@/api/order' import { getOrderSearchList } from '@/api/order'
export default { export default {
......
...@@ -28,10 +28,10 @@ export default { ...@@ -28,10 +28,10 @@ export default {
return this.$route.query.id return this.$route.query.id
}, },
pcPreviewUrl() { pcPreviewUrl() {
return `${webConf.others.pcPreviewUrl}/buy?shop_id=${this.shopId}&spu_id=${this.goodsId}` return `${import.meta.env.VITE_PC_PREVIEW_URL}/buy?shop_id=${this.shopId}&spu_id=${this.goodsId}`
}, },
h5PreviewUrl() { h5PreviewUrl() {
return `${webConf.others.h5PreviewUrl}/buy?shop_id=${this.shopId}&spu_id=${this.goodsId}` return `${import.meta.env.VITE_H5_PREVIEW_URL}/buy?shop_id=${this.shopId}&spu_id=${this.goodsId}`
} }
}, },
methods: { methods: {
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</template> </template>
<script> <script>
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import { updateShop } from '@/api/shop' import { updateShop } from '@/api/shop'
export default { export default {
components: { AppCard }, components: { AppCard },
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</template> </template>
<script> <script>
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import { updateShop } from '@/api/shop' import { updateShop } from '@/api/shop'
export default { export default {
components: { AppCard }, components: { AppCard },
......
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
</template> </template>
<script> <script>
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import SkuGroup from '@/components/setting/skuGroup' import SkuGroup from '@/components/setting/skuGroup.vue'
import { getSkuNameList, addSku } from '@/api/goods' import { getSkuNameList, addSku } from '@/api/goods'
export default { export default {
components: { AppCard, SkuGroup }, components: { AppCard, SkuGroup },
......
...@@ -68,8 +68,8 @@ ...@@ -68,8 +68,8 @@
</template> </template>
<script> <script>
import AppCard from '@/components/base/card' import AppCard from '@/components/base/card.vue'
import AppUploadImage from '@/components/base/uploadImage' import AppUploadImage from '@/components/base/uploadImage.vue'
import { updateShop } from '@/api/shop' import { updateShop } from '@/api/shop'
export default { export default {
components: { AppCard, AppUploadImage }, components: { AppCard, AppUploadImage },
......
...@@ -75,8 +75,8 @@ ...@@ -75,8 +75,8 @@
<script> <script>
// 组件 // 组件
import PageMain from '@/components/common/pageMain' import PageMain from '@/components/common/pageMain.vue'
import AppUploadImage from '@/components/base/uploadImage' import AppUploadImage from '@/components/base/uploadImage.vue'
// 接口 // 接口
import { addShop } from '@/api/shop' import { addShop } from '@/api/shop'
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<script> <script>
import dayjs from 'dayjs' import dayjs from 'dayjs'
// 组件 // 组件
import PageMain from '@/components/common/pageMain' import PageMain from '@/components/common/pageMain.vue'
// 接口 // 接口
import { getShopList } from '@/api/shop' import { getShopList } from '@/api/shop'
......
/* layout */ /* layout */
import Layout from '@/components/layout/layout' import Layout from '@/components/layout/layout.vue'
export default [ export default [
{ path: '*', redirect: '/goods' }, { path: '*', redirect: '/goods' },
...@@ -10,7 +10,7 @@ export default [ ...@@ -10,7 +10,7 @@ export default [
children: [ children: [
{ {
path: '', path: '',
component: () => import(/* webpackChunkName: "dashboard" */ '@/pages/dashboard/index'), component: () => import(/* webpackChunkName: "dashboard" */ '@/pages/dashboard/index.vue'),
meta: { title: '概况' } meta: { title: '概况' }
} }
] ]
...@@ -18,12 +18,12 @@ export default [ ...@@ -18,12 +18,12 @@ export default [
// 店铺 // 店铺
{ {
path: '/shop', path: '/shop',
component: () => import(/* webpackChunkName: "shop" */ '@/pages/shop/index'), component: () => import(/* webpackChunkName: "shop" */ '@/pages/shop/index.vue'),
meta: { title: '选择店铺' } meta: { title: '选择店铺' }
}, },
{ {
path: '/shop/add', path: '/shop/add',
component: () => import(/* webpackChunkName: "shop" */ '@/pages/shop/add'), component: () => import(/* webpackChunkName: "shop" */ '@/pages/shop/add.vue'),
meta: { title: '新建店铺' } meta: { title: '新建店铺' }
}, },
// 商品管理 // 商品管理
...@@ -35,25 +35,25 @@ export default [ ...@@ -35,25 +35,25 @@ export default [
{ {
name: 'goodsList', name: 'goodsList',
path: '', path: '',
component: () => import(/* webpackChunkName: "goods" */ '@/pages/goods/goods/index'), component: () => import(/* webpackChunkName: "goods" */ '@/pages/goods/goods/index.vue'),
meta: { title: '商品列表' } meta: { title: '商品列表' }
}, },
{ {
name: 'goodsAdd', name: 'goodsAdd',
path: 'add', path: 'add',
component: () => import(/* webpackChunkName: "goods" */ '@/pages/goods/goods/edit'), component: () => import(/* webpackChunkName: "goods" */ '@/pages/goods/goods/edit.vue'),
meta: { title: '发布商品' } meta: { title: '发布商品' }
}, },
{ {
name: 'goodsEdit', name: 'goodsEdit',
path: 'edit/:id', path: 'edit/:id',
component: () => import(/* webpackChunkName: "goods" */ '@/pages/goods/goods/edit'), component: () => import(/* webpackChunkName: "goods" */ '@/pages/goods/goods/edit.vue'),
props: { isEdit: true }, props: { isEdit: true },
meta: { title: '编辑商品' } meta: { title: '编辑商品' }
}, },
{ {
path: 'group', path: 'group',
component: () => import(/* webpackChunkName: "goods-group" */ '@/pages/goods/group/index'), component: () => import(/* webpackChunkName: "goods-group" */ '@/pages/goods/group/index.vue'),
meta: { title: '商品分组' } meta: { title: '商品分组' }
} }
] ]
...@@ -67,19 +67,19 @@ export default [ ...@@ -67,19 +67,19 @@ export default [
{ {
name: 'orderList', name: 'orderList',
path: '', path: '',
component: () => import(/* webpackChunkName: "order" */ '@/pages/order/index'), component: () => import(/* webpackChunkName: "order" */ '@/pages/order/index.vue'),
meta: { title: '订单列表' } meta: { title: '订单列表' }
}, },
{ {
name: 'orderDetail', name: 'orderDetail',
path: 'detail/:id', path: 'detail/:id',
component: () => import(/* webpackChunkName: "order" */ '@/pages/order/detail'), component: () => import(/* webpackChunkName: "order" */ '@/pages/order/detail.vue'),
meta: { title: '订单详情' } meta: { title: '订单详情' }
}, },
{ {
name: 'orderAdd', name: 'orderAdd',
path: 'add', path: 'add',
component: () => import(/* webpackChunkName: "order" */ '@/pages/order/add'), component: () => import(/* webpackChunkName: "order" */ '@/pages/order/add.vue'),
meta: { title: '新增订单' } meta: { title: '新增订单' }
} }
] ]
...@@ -93,28 +93,28 @@ export default [ ...@@ -93,28 +93,28 @@ export default [
{ path: '', redirect: 'info' }, { path: '', redirect: 'info' },
{ {
path: 'info', path: 'info',
component: () => import(/* webpackChunkName: "setting" */ '@/pages/setting/info'), component: () => import(/* webpackChunkName: "setting" */ '@/pages/setting/info.vue'),
meta: { title: '店铺信息' } meta: { title: '店铺信息' }
}, },
{ {
path: 'general', path: 'general',
component: () => import(/* webpackChunkName: "setting" */ '@/pages/setting/general'), component: () => import(/* webpackChunkName: "setting" */ '@/pages/setting/general.vue'),
meta: { title: '通用设置' } meta: { title: '通用设置' }
}, },
{ {
path: 'contact', path: 'contact',
component: () => import(/* webpackChunkName: "setting" */ '@/pages/setting/contact'), component: () => import(/* webpackChunkName: "setting" */ '@/pages/setting/contact.vue'),
meta: { title: '联系我们' } meta: { title: '联系我们' }
}, },
{ {
path: 'goods', path: 'goods',
component: () => import(/* webpackChunkName: "setting" */ '@/pages/setting/goods'), component: () => import(/* webpackChunkName: "setting" */ '@/pages/setting/goods.vue'),
meta: { title: '商品设置' } meta: { title: '商品设置' }
} }
] ]
}, },
{ {
path: '/preview', path: '/preview',
component: () => import(/* webpackChunkName: "preview" */ '@/pages/preview') component: () => import(/* webpackChunkName: "preview" */ '@/pages/preview.vue')
} }
] ]
...@@ -53,7 +53,7 @@ httpRequest.interceptors.response.use( ...@@ -53,7 +53,7 @@ httpRequest.interceptors.response.use(
const { status, message } = error.response.data const { status, message } = error.response.data
// 未登录 // 未登录
if (status === 403) { if (status === 403) {
window.location.href = `${webConf.others.loginUrl}?rd=${encodeURIComponent(window.location.href)}` window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(window.location.href)}`
} else { } else {
Message.error(message || error.response.data) Message.error(message || error.response.data)
} }
......
...@@ -14,7 +14,7 @@ export default class BeforeEnter { ...@@ -14,7 +14,7 @@ export default class BeforeEnter {
} }
const isLogin = store.state.user.id || (await store.dispatch('checkLogin')) const isLogin = store.state.user.id || (await store.dispatch('checkLogin'))
if (!isLogin) { if (!isLogin) {
window.location.href = `${webConf.others.loginUrl}?rd=${encodeURIComponent(window.location.href)}` window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(window.location.href)}`
return return
} }
next() next()
......
import fs from 'fs'
import path from 'path'
import { defineConfig } from 'vite'
import { createVuePlugin } from 'vite-plugin-vue2'
export default defineConfig({
plugins: [createVuePlugin()],
server: {
host: 'dev.ezijing.com',
https: {
key: fs.readFileSync(path.join(__dirname, './build/dev.ezijing.com.key')),
cert: fs.readFileSync(path.join(__dirname, './build/dev.ezijing.com.pem'))
},
proxy: {
'/api': 'https://shop-admin.ezijing.com'
}
},
resolve: {
alias: [
{
find: '@',
replacement: path.resolve(__dirname, 'src')
}
]
}
})
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论