我使用Linux on Azure来托管我的Web应用,它部署得很好。我的本地开发树结构如下所示:
- 构建
- 节点模块
- 源文件。部署。环境。gitignore包。json自述文件。json ...
当我部署到Azure时,它看起来如下所示:
- 距离
- 节点模块
在我的一个文件中,我重用了节点模块中的一些组件,如下所示:
import Password from '../../../node_modules/path/to/components/forms/field-types/Password';
有两种可能的方法可以实现这一点:
1.将/dist部署到根目录中,并将node_modules作为兄弟节点,但这会使上面的相对路径中断,ES6不允许动态导入字符串,也不允许它们位于块中
1.将/dist文件夹设置为实际正确的应用程序根目录(例如:它包含server.js),则相对路径正确
我更喜欢#2,但是在Azure中进行虚拟路径Map的功能似乎不存在,所以我似乎需要利用.htaccess
。我很好奇是否有任何其他方法可以做到这一点,而且如果根设置为/dist,相对路径是否仍然有效,或者它是否会被服务器阻止?
谢谢。
1条答案
按热度按时间ff29svar1#
**RewriteEngine On**
。因此,如果您在"subfolder"子文件夹中添加特定于管理员的. htaccess文件,这将抢占www**文件,从而避免此问题。例如:
RedirectMatch ^/my_folder/(.+)/card.jpg$ /script_folder/image.php?perameter=$1
这会将**/my_folder/xyz/card. jpg重定向到/script_folder/image. php?perameter = xyz**将地址栏从输入的url更改为一个新的url.如果您希望浏览器停留在输入的url上,您可以使用以下基于mod重写的解决方案:
RewriteRule ^my_folder/(.+)/card.jpg$ /script_folder/image.php?perameter=$1 [L]
请参考本文档:
Deploy files to App Service - Azure App Service | Microsoft Learn