无法访问 Angular 中的本地文件 2+
Unable to access local file in Angular 2+
我正在 Angular 中试用 http 请求功能。但是,我发现我无法访问项目文件夹中的任何本地文件。当我访问 "localhost:4200/testfile.json" 时,它抛出一个错误:
ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'starter/testfile.txt'
然后我查看了路由器模块,也没有弄清楚是什么问题。
这是路由器模块的代码:
imports: [
RouterModule.forRoot([
{ path: '', redirectTo: 'starter', pathMatch: 'full' },
{ path: 'starter', component: StarterComponent },
])],
我还尝试将文件放入 assets 文件夹并使用 localhost:4200/assets/testfile.txt 访问它,这有效。我想知道为什么资产是唯一允许访问的文件夹,而所有其他路径都不起作用。是我路由器模块的问题吗?
非常感谢。
我假设您使用的是 Angular CLI? CLI 在非常特定的文件夹中查找片段。如果你想让它在其他文件夹中查找内容,你可以修改angular.cli.json文件。
例如:
"assets": [
"assets",
"api",
"favicon.ico"
],
此资产数组告诉 CLI 查看资产文件夹和 api 文件夹。您可以添加您想要的任何其他文件夹。
我正在 Angular 中试用 http 请求功能。但是,我发现我无法访问项目文件夹中的任何本地文件。当我访问 "localhost:4200/testfile.json" 时,它抛出一个错误:
ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'starter/testfile.txt'
然后我查看了路由器模块,也没有弄清楚是什么问题。 这是路由器模块的代码:
imports: [
RouterModule.forRoot([
{ path: '', redirectTo: 'starter', pathMatch: 'full' },
{ path: 'starter', component: StarterComponent },
])],
我还尝试将文件放入 assets 文件夹并使用 localhost:4200/assets/testfile.txt 访问它,这有效。我想知道为什么资产是唯一允许访问的文件夹,而所有其他路径都不起作用。是我路由器模块的问题吗?
非常感谢。
我假设您使用的是 Angular CLI? CLI 在非常特定的文件夹中查找片段。如果你想让它在其他文件夹中查找内容,你可以修改angular.cli.json文件。
例如:
"assets": [
"assets",
"api",
"favicon.ico"
],
此资产数组告诉 CLI 查看资产文件夹和 api 文件夹。您可以添加您想要的任何其他文件夹。