无法访问Angular 2+;

无法访问Angular 2+;,angular,path,routing,filepath,Angular,Path,Routing,Filepath,我正在试用Angular中的http请求函数。但是,我发现我无法访问项目文件夹中的任何本地文件。当我访问“localhost:4200/testfile.json”时,它会抛出一个错误: 错误错误:未捕获(承诺中):错误:无法匹配任何路由。URL段:“starter/testfile.txt” 然后我查看了路由器模块,无法找出问题所在。 以下是routermodule的代码: imports: [ RouterModule.forRoot([ { path: '', redirectTo:

我正在试用Angular中的http请求函数。但是,我发现我无法访问项目文件夹中的任何本地文件。当我访问“localhost:4200/testfile.json”时,它会抛出一个错误:
错误错误:未捕获(承诺中):错误:无法匹配任何路由。URL段:“starter/testfile.txt”

然后我查看了路由器模块,无法找出问题所在。 以下是routermodule的代码:

imports: [
RouterModule.forRoot([
  { path: '', redirectTo: 'starter', pathMatch: 'full' },
  { path: 'starter', component: StarterComponent },
])],
我还尝试将该文件放入assets文件夹,并使用localhost:4200/assets/testfile.txt访问它,这很有效。我想知道为什么资产是唯一允许访问的文件夹,而所有其他路径都不起作用。这是我的routermodule的问题吗


非常感谢。

我想您正在使用Angular CLI?CLI在非常特定的文件夹中查找片段。如果希望它在其他文件夹中查找内容,可以修改angular.cli.json文件

例如:

  "assets": [
    "assets",
    "api",
    "favicon.ico"
  ],

此资产数组告诉CLI同时查看资产文件夹和api文件夹。您可以添加任何其他需要的文件夹。

是的,我正在使用angular cli。错误是否与我的routermodule设置有关,或者只是我的angular.cli.json文件有问题?这与路由无关。只是因为它在已知的文件夹列表中找不到该文件,所以它认为url可能是它应该尝试路由到的内容。从角度来说,源文件中的所有数据是否都被视为“受保护”且不会用作资源文件?将文件夹添加到资产数组中是否是解决此问题的唯一方法?我只是想知道filepath系统在Angular中是如何工作的。据我所知,如果您使用Angular CLI,则需要将其添加到assets数组中。如果不使用Angular CLI,则有更多选项。