正如其他人所说,您的问题只能由您使用的服务器解决。您想要的通常是命名的静态文件服务。您可以在 Internet 上找到为您的服务器提供静态文件的具体说明。
但是,您可能正在构建您的 Angular 应用程序。你甚至可能正在使用 Webpack。
如果您使用 Angular-cli 构建您的应用程序,您可以使用以下配置复制资产下的系统文件夹。如果您使用 Webpack,这也将在您每次请求时动态获取文件,而无需复制文件。在此处阅读有关 webpack的信息。在您的.angular-cli.json
文件中:
"assets": [
"assets", // These two are generally used in Angular projects
"favicon.ico", // ^^^^^^^^^
{
"glob": "system.json",
"input": "/etc/project/",
"output": "./<outputfolder>"
}
]
如果这样做,您可以使用 url 访问文件http://yourdomain/<outputfolder>/system.json
如果您在 typescript 代码中使用此 json 文件,您还可以设置 typescript 路径映射配置来查找此文件。Webpack 和 Angular-cli 也支持这种配置。在您的tsconfig.json
文件中:
"paths": {
"system.json": [
"/etc/project/system.json"
]
}
然后您可以在 typescript 中导入 json,例如:
import * as data from 'system.json';
您必须有此 json 文件的类型声明,因为 typescript 无法自行解析 json 文件的类型。你可以在这里阅读。简而言之,把它放在typings.d.ts
你的项目根目录中:
declare module "*.json" {
[key: string]: any;
}
您可以在此处阅读有关 typescript 路径解析的更多信息。