我使用express生成器来创建一个项目,该项目自动包含app.js中的公共文件夹...
我正在尝试在index.ejs中显示图像,但它无效... 什么是正确的网址?
在网上看后,它说src应该是这个img src =" localhost:8000 / images / 1.png"
但是,我正在使用docker工具箱,因此我使用了docker快速启动终端,并使用docker i.p将其运行起来
所以它就像img src =" 127.432.343:8000 / images / 1.png" 但是IP特定于我的计算机我希望我的同事能够看到图像而无需重构代码......
我的容器名称是web,所以我也试过我试过src =" web:8000 / images / 1.png"
但这不起作用,我觉得应该这样,任何提示请在这里花费数小时。
此外,如果要在服务器上进行生产,那么最好的方法是什么?如果我最终将其上传到AWS,我不想更改代码......
答案 0 :(得分:0)
express中的静态内容必须位于/ public文件夹中。公共/图像文件夹下的图像。如果您的图片位于该文件夹中,则应该可以从您说的网址中访问该图片。
要从ejs文件中显示它,您只需要指向images / 1.png(使用相对路线):
<img src="images/i.png" />
这样,您就不会在将其上传到任何生产服务器时遇到任何问题。
对于网络中的其他计算机来测试您的项目,您需要检查计算机的本地网络IP(ipconfig / ifconfig)并使用IP地址端口8000进行测试。并非每个内部网络都有它&#39; DNS已完全配置。
同时检查您计算机的防火墙,以允许通过端口8000进行TCP通信。希望它有所帮助。
答案 1 :(得分:0)
您有机会切换到Docker for Mac吗?这样你就可以在localhost上看到它了