我发布此内容是因为我正在寻找答案但找不到答案。从表面上看,这一定是可能的,但我在正确配置它时遇到了很多困难。
最后,我发现以下工作正常,但相当细微的语法差异导致事情无法按预期工作。
在 express 根目录下有一个静态目录的简单模型很简单
app.use (express.static( './public'));
假设我的静态图片在
/root/expressapp/public/images
我可以用http://localhost/images/image.png检索图像
你也看到了表格
app.use ( express.static(__dirname + '/public'));
这会将第一个示例的相对路径交换为完全限定路径。
假设我想从 Angular 应用程序的并行目录中检索图像。在这种情况下,相对路径符合我的预期
app.use( express.static('../angularapp/images'));
现在我可以以
的身份访问 Angular 应用程序中的图像
http://localhost/image1.gif
因此我也可以在并行树中为目录起别名
app.use ('/fbsite', express.static( '../angularapp/images'));
并使用
访问
http://localhost/angularsite/image1.gif
我也可以使用完全限定的路径,但如果你想这样做,你需要在路径中添加一个前导斜杠,因为 __dirname 没有尾随斜杠
app.use('/angularimages', express.static( __dirname + '/../angularapp/images'));
并使用
访问它
http://localhost/angularimages/image1.gif
需要仔细注意路径构造,但通过一些练习,您可以组织对资源的访问,而无需在单个文件树中编写快速应用程序和前端代码。这有时可以简化重构复杂构建并增强解决方案的模块化。
在我的例子中,我预计从 Angular-js 前端发展到涉及 React.js 的前端,这种并行文件树的方法可以增强重构,因为它隔离了系统每个子部分中复杂的构建依赖项。