【问题标题】:How vue.js cli command "npm run serve" workvue.js cli 命令“npm run serve”如何工作
【发布时间】:2021-01-28 04:56:36
【问题描述】:

运行npm run serve 后,它会给出一个类似http://localhost:8080 的地址并且它可以工作,这个地址是针对本地服务器的根文件夹,但我的项目存在另一个文件夹,如http://localhost/vue

我的问题是地址http://localhost:8080 是如何工作的,实际的index.html 在哪里?由于我的实际项目放在localhost/vue 文件夹中!并且地址应该是http://localhost/vue

【问题讨论】:

    标签: javascript node.js vue.js vuejs2


    【解决方案1】:

    我认为您对使用 serve 时后台发生的事情有点困惑。

    当您运行命令npm run serve 时,您的项目将由Webpack 构建,然后通过本地http 服务器“服务”。此服务器正在使用您项目的构建文件夹作为它的根目录。

    您似乎在此处的 cmets 中创建了一个名为 localhost 的文件夹。 http://localhost 不是您计算机中名为“localhost”的文件夹。其实只是你内部ip的一个名字:127.0.0.1。您可以前往127.0.0.1:8080 进行测试,看到这与http://localhost:8080 相同

    在程序化方面,可以这样说: localhost == 127.0.0.1

    顺便说一句,您似乎还希望有一个名为vue 的子文件夹,因为这就是您在localhost 文件夹中的内容。了解以上内容; http://localhost 不是您电脑上的文件夹 localhost。然而它是 http-server 选择的文件夹,在这种情况下,vue 在你的项目文件夹中选择文件夹 /dist

    示例:您的项目文件夹具有以下路径:C:\Users\Admin\Documents\myProject

    当您随后在该文件夹中运行 npm run serve 时,vue http-server 将服务(托管)文件夹 C:\Users\Admin\Documents\myProject\dist

    这意味着http://localhost == C:\Users\Admin\Documents\myProject\dist\index.html

    但是,如果您的目标是让您的项目成为:http://localhost/my-custom-sub-folder

    您必须为您的 vue 项目编辑 vue.config.js,添加:publicPath

    vue.config.js 示例:

    module.exports = {
      publicPath: '/my-custom-sub-folder',
    };
    

    【讨论】:

    • 我认为这需要一些修正。除非您为编译文件设置特定路径,否则开发服务器文件默认存储在内存中。
    【解决方案2】:

    默认情况下,index.html 文件应放在项目根目录的“public”文件夹中

    【讨论】:

    • 你知道vue.js吗
    • kindof 我开始使用它和 django 来构建 SPA,顺便说一句,这很简单,我不知道你不明白什么,这是你第一次使用本地服务器吗?因为它真的没有意义
    • 但这不是我期望的答案
    • 你的问题没有意义,你可以运行 npm run serve -- --port 3000 例如,如果你想通过另一个端口访问你的项目。似乎你不明白 vuejs 是如何工作的,阅读文档,你可以在创建项目时选择使用 vuerouter,这样你就可以很容易地访问不同的端点
    • 我是 vue.js 的新手,我想知道我的 vue.js 项目在一个名为 vue 的文件夹中,所以地址应该是 localhost:8080/vue 但它在 localhost:8080 中运行如何?
    猜你喜欢
    • 2020-01-24
    • 2022-10-04
    • 2017-11-25
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 2021-11-08
    • 2017-09-26
    相关资源
    最近更新 更多