Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Vue/Node尝试将应用程序服务于目录名,而不是本地主机_Node.js_Vue.js_Npm - Fatal编程技术网

Node.js Vue/Node尝试将应用程序服务于目录名,而不是本地主机

Node.js Vue/Node尝试将应用程序服务于目录名,而不是本地主机,node.js,vue.js,npm,Node.js,Vue.js,Npm,我已经构建了一段时间的Vue应用程序,在使用“npm运行服务”进行开发时从未遇到过问题。发生了一些事情,使得localhost不再是承载dev实例的默认方式 App running at: - Local: http://Kyles-MacBook-Pro.local:8080/ - Network: http://Kyles-MacBook-Pro.local:8080/ Note that the development build is not optimized.

我已经构建了一段时间的Vue应用程序,在使用“npm运行服务”进行开发时从未遇到过问题。发生了一些事情,使得localhost不再是承载dev实例的默认方式

  App running at:
  - Local:   http://Kyles-MacBook-Pro.local:8080/ 
  - Network: http://Kyles-MacBook-Pro.local:8080/

  Note that the development build is not optimized.
  To create a production build, run npm run build.
这不同于通常的本地主机:8080,对于网络主机,“IP”:8080

因为它没有指向本地主机,所以失败了

      throw er; // Unhandled 'error' event
      ^

Error: getaddrinfo ENOTFOUND Kyles-MacBook-Pro.local
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
Emitted 'error' event at:
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1457:12)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:17)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! test-test@0.1.0 serve: `vue-cli-service serve`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the test-test@0.1.0 serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
根据我所做的研究,如果我在本地主机上监听,“getaddrinfo ENOTFOUND”错误将得到解决

我不知道有什么可以改变,因为它是工作2天前,我没有做任何改变,直到尝试再次运行它看到这个错误

我已卸载/重新安装vue、npm和节点。我的主机文件看起来像

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
我不知道我的节点文件或vue中是否有更改,但如果有人知道我如何返回指向localhost,我将不胜感激

编辑 我没有vue.config.js文件 这是我的package.json

  "name": "test-test",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "core-js": "^3.6.4",
    "vue": "^2.6.11"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.2.0",
    "@vue/cli-plugin-eslint": "~4.2.0",
    "@vue/cli-service": "~4.2.0",
    "babel-eslint": "^10.0.3",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^6.1.2",
    "vue-template-compiler": "^2.6.11",
    "webpack-cli": "^3.3.11"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {}
  },
  "browserslist": [
    "> 1%",
    "last 2 versions"
  ]
}
编辑2

在创建vue.config.js文件并输入此文件后,它

module.exports = {
  devServer: {
    host: '127.0.0.1',
    port: 8080,
    public: 'localhost:8080',
  }
}
我在尝试启动项目时的输出现在是

  App running at:
  - Local:   http://Kyles-MacBook-Pro.local:8080/ 
  - Network: http://localhost:8080/
但由于“本地:”是一个糟糕的主机,它仍然会出错。我试图ping它以防万一,但它确实不能解决为ping。 我不明白module.exports文件如何不覆盖默认主机,必须有另一个具有更高优先级设置的文件

最终编辑

这不是最好的解决方案,而是增加

127.0.0.1 Kyles-MacBook-Pro.local
我的etc/host文件现在允许我在本地运行应用程序。
在其他地方还有一个更大的问题需要解决,那就是将Local设置为远离localhost,但现在这个解决方法就可以了。

您是否使用
vue cli
创建应用程序?你能展示你的
package.json
吗?另外,你的项目根目录下有一个名为
vue.config.js
的文件吗?如果是的话,你能发布它的内容吗?@MattOestreich谢谢你的回复,我已经更新了帖子。此错误发生在我计算机上的所有vue项目上,但如果有人从github中提取代码,它将正确编译并服务于其计算机上的本地主机。由于这在我的系统上的所有vue项目中都是通用的,所以我认为这更可能是节点问题或vue设置问题,不一定锁定到特定的项目文件夹中。在您的计算机上,如果从终端运行ping localhost,会发生什么?成功ping localhost(127.0.0.1):56数据字节127.0.0.1中的64字节:icmp_seq=0 ttl=64时间=0.032毫秒