这里有点疯狂,想把它设置好。我在docker中使用devServer运行Vue,然后使用一个单独的卷运行json服务器,以提供虚假的api数据。首先,我很乐意让这个简单的示例正常工作,但我一直会遇到代理错误。这是我目前的配置。
docker-撰写:
version: "3.7"
services:
front:
container_name: front
build: .
volumes:
- .:/app
- ./node_modules:/app/node_modules
ports:
- '8080:8080'
api:
image: vimagick/json-server
command: -H 0.0.0.0 -p 3000 -w db.json
ports:
- "3000:3000"
volumes:
- ./server/data:/data
Dockerfile:
FROM node:lts-alpine as front
# install simple http server for serving static content
RUN npm install -g @vue/cli
# make the 'app' folder the current working directory
WORKDIR /app
# Add necessary files to app
ENV PATH ./:/app/:./node_modules/.bin:$PATH
ENV NODE_ENV=development
# copy both 'package.json' and 'package-lock.json' (if available)
COPY package.json /app/package.json
COPY package-lock.json /app/package.lock.json
# install project dependencies
RUN npm install --silent
# copy project files and folders to the current working directory (i.e. 'app' folder)
COPY ./ .
EXPOSE 8080
CMD ["npm", "run", "serve"]
所有这些都很好。以上所有内容都会生成,并且它们都在各自的端口上运行。
我可以导航到http://localhost:3000/posts
,我看到了我期待的假json。我可以在http://localhost:8080/
。现在麻烦来了。我想在vue应用程序中使用json服务器上的数据,并且我想从http://localhost:8080/api/*
至http://localhost:3000/$1
。这是我的Vue。配置文件:
module.exports={
devServer: {
proxy: {
"^/api/": {
target: "http://localhost:3000/",
secure: false,
pathRewrite: {
"/api/*": "/"
}
}
}
}
};
然后在应用程序中,我提出像axios.get('/api/post/')
这样的请求。我在所有三个文件中尝试了上面代码的大约100种不同的细微变化,但是每次我都会遇到这个错误:
代理错误:无法将本地主机8080的请求/帖子代理到http://localhost:3000/ (经济融合)。
我认为我对这应该如何工作有一个基本的误解,因为我遵循了每一条指令,并从Vue的指令中复制和粘贴。任何人能提供的任何见解都将不胜感激
这里的问题是,localhost
的代理不正确。如果您将vue配置更改为以下内容,则该功能应能正常工作:
module.exports={
devServer: {
proxy: {
"^/api/": {
target: "http://api:3000",
secure: false,
pathRewrite: {
"/api/*": "/"
}
}
}
}
};
基本上,更改是将主机从localhost
替换为api
。原因是docker compose通过服务名称解析主机。由于您的服务名称是api
,所以主机也应该是api
。
再澄清一点,这里的主机不是来自您机器的预期主机,而是来自vue。js集装箱。从vue。在js容器中,api是一个单独的主机(不再是本地主机)。希望这是有意义的-如果需要更多的澄清,lmk。
因此,如果我不能重写字符串作为它的最终结果(因此阻止我重写它的compareTo()方法来调用compareToIgnoreCase()),那么还有其他方法可以实现吗? 任何帮助都是非常感谢的。
我已经成功地在我的Windows机器上安装了gnuradio,并尝试将随附的python环境(Python 2.7)与PyCharm v2018集成。我创建了一个新项目,并为包添加了一个用户定义的路径,以指向所有gnuradio库的位置(C:\Program Files\GNURadio-3.7\lib\site-包)。 在Pycharm可以毫无怨言地看到所有gnuradio包的意义上,一切似乎都
首先,我想道歉,如果这个问题是抽象的或不适合本站。我真的不知道还能去哪里问。 目前我已经在iOS和Android上开发了应用程序。它们在firebase中保留所有的状态,因此所有的内容都可以即时保存到firebase实时数据库中。 在创建用户之前,我手动填充实时数据库中的一些数据,这些数据应该存在以便应用程序能够运行,例如用户的配置数据。当我“完成”使用该应用程序时,我直接在Firebase控制台
我有一个带有Express和Socket.io(Ubuntu18.04)的Nodejs服务器应用程序。在nGinx(1.14)反向代理进入场景之前,它总是工作得很好。nginx服务器运行在Node.js应用程序的不同机器上,每个应用程序都在同一网络中的自己的虚拟机上。 2.1.1版本上的服务器和客户端。 我还尝试删除path选项,并为socket.io东西配置了一个特定的/位置(出于测试目的):
它可以在我的浏览器中工作,但是仍然只返回direct。 我是不是漏掉了什么?(如果有关系的话,这是在Java1.6和Windows7上。)
Android 7对证书的处理方式进行了一些更改(http://android-developers.blogspot.com/2016/07/changes-to-trusted-certificate.html)不知怎么的,我不能让查尔斯的代理人再工作了。 我network_security_config.xml: 我正在调试模式下运行。但无论如何,我都会得到 不用说,我确实从