问题:我正在用 vue-CLI 建立一个网站。当我使用 npm run serve
运行开发服务器时一切都以应有的方式显示。运行后npm run build
一个 /dist
正在创建文件夹。然后在运行 npm start
时并在网站源中启动 localhost 服务器,而不是 dist/js
中的所有 js 文件仅限 app.d574a975.js
正在显示(但是所有其他 js 文件都存在于本地 /dist
目录中),因此,当访问 localhost:5000
时(我的端口是 5000
)我得到 localhost/:1 GET http://localhost:5000/js/chunk-vendors.3fcb4836.js/ net::ERR_ABORTED 404 (Not Found)
错误,页面变为空白。有没有办法来解决这个问题?我对网络开发很陌生,所以我将不胜感激。
可能很重要:
404
错误,从那时起,该应用程序一直行为不端并在控制台中打印出上述错误。 vue create
重新创建 vue 应用程序从头开始重建应用程序。 ,重新安装相同的依赖项并从原始项目中复制粘贴代码。由于某些未知原因,它工作得很好,dist/js
里面有所有文件。 项目文件夹架构:
server.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)
main.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')
最佳答案
2022/03 vue3 cli 默认设置有这个问题:如果你运行“npm run build”,你会得到一个不错的/dest 文件夹,其中包含 index.html 和正确的子文件夹。但是 js 源链接使用绝对路径/,所以这仅在网络服务器的根目录中有效。
见 https://cli.vuejs.org/config/#publicpath
“默认情况下,Vue CLI 假定您的应用程序将部署在域的根目录,例如 https://www.my-app.com/ 。如果您的应用程序部署在子路径中,则需要使用此选项指定该子路径。例如,如果您的应用部署在 https://www.foobar.com/my-app/,请将 publicPath 设置为 '/my-app/'。"
关于javascript - vue-cli : dist/js/is not found in website source,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70332308/