Problema: estoy construyendo un sitio web con vue-CLI. Cuando ejecuto el servidor de desarrollo con npm run serve , todo se muestra como debería. Después de ejecutar npm run build una carpeta /dist . Luego, al ejecutar npm start e iniciar el servidor localhost, en la fuente del sitio web, en lugar de todos los archivos js en dist/js solo se muestra app.d574a975.js (sin embargo, todos los demás archivos js están presentes en el directorio /dist localmente) y, por lo tanto , al acceder a localhost:5000 (mi puerto es 5000 ) localhost/:1 GET http://localhost:5000/js/chunk-vendors.3fcb4836.js/ net::ERR_ABORTED 404 (Not Found) error y la página se queda en blanco. ¿Hay alguna manera de arreglar esto? Soy bastante nuevo en el desarrollo web, por lo que agradeceré cualquier ayuda.
Puede ser importante:
404 y, desde entonces, la aplicación se ha comportado mal e imprimió el error mencionado anteriormente en la consola.vue create , reinstalando las mismas dependencias y copiando el código del proyecto original. Y por alguna razón desconocida, funcionó bien, dist/js tenía todos los archivos.Arquitectura de la carpeta del proyecto:
servidor.js :
const express = require('express') const mongoose = require('mongoose') const morgan = require('morgan') const path = require('path') const rateLimit = require('express-rate-limit') let app = express(); const port = 5000; const limiter = rateLimit({ windowMs: 10 * 60 * 1000, max: 300 }) app.use(limiter) app.set('trust proxy', 1) app.use(express.json()) app.use(express.urlencoded({extended: false})) app.use(morgan('dev')) app.use('/api/hometasks', require('./api/hometask')) app.use('/api/auth', require('./api/auth')) app.use('/api/groups', require('./api/groups')) app.use('/', express.static(path.join(__dirname, '../dist/'))) app.listen(port)principal.js
import { createApp } from 'vue/dist/vue.esm-bundler'; import { createRouter, createWebHistory } from 'vue-router' import App from './App.vue' import Main from './components/corepages/main.vue' import PageNotFound from './components/infopages/pageNotFound.vue' const router = createRouter({ history: createWebHistory(), routes: [ {path: '/', component: Main}, {path: '/:pathMatch(.*)*', component: PageNotFound} ] }) const app = createApp(App) app.use(router) app.mount('#app')Estos son los pasos que yo daría.
Primero, mueva la carpeta de su servidor a su public , de esa manera los archivos de sus servidores se incluyen en su dist de distrito. Es posible que deba actualizar las rutas/ruta, etc. Esto también se puede hacer usando publicPath https://cli.vuejs.org/config/#baseurl . Alternativamente, puede editar su vue.config.js y decirle a webpack que cargue directorios adicionales en su compilación de distrito, sin embargo, no estoy seguro de si webpack necesita estar involucrado en la construcción de su servidor, podría estar equivocado. No estoy seguro acerca de su configuración específica. . https://cli.vuejs.org/guide/html-and-static-assets.html#static-assets-handling
Luego, ejecute npm run build para construir su directorio dist.
Luego ejecute npm install -g serve y sirva su compilación de producción usando serve -s dist
Fuente: https://cli.vuejs.org/guide/deployment.html#general-guidelines