在Angular 1.x中,您可以像这样定义常量:
angular.module('mainApp.config', [])
.constant('API_ENDPOINT', 'http://127.0.0.1:6666/api/')
Run Code Online (Sandbox Code Playgroud)
Angular2(使用Typescript)中的等价物是什么?我只是不想在我的所有服务中一遍又一遍地重复API基本URL.
我们使用typescript v2.3.2和TSLint v4.5.1与VS Code来创建SPA.代码库正在增长,我们需要对其进行模块化.
我尝试使用typescript模块进行模块化,但在转换应用程序时发现以下lint错误.
[tslint] 'namespace' and 'module' are disallowed (no-namespace)
Run Code Online (Sandbox Code Playgroud)
我正在使用此配置作为linter:
{
"extends": "tslint:recommended",
"rules": {
"no-var-requires": false,
"no-console": ["error", false],
"max-line-length": [false]
}
}
Run Code Online (Sandbox Code Playgroud)
"no-namespace": true,
Run Code Online (Sandbox Code Playgroud)
我想知道是否有什么问题,以及什么是模块化SPA的最佳方式,遵循不会很快过时的良好做法.
代码示例将受到欢迎.非常感谢你.
我的代码:
export const LOAD_USERS = 'LOAD_USERS';
export const CREATE_USER = 'CREATE_USER';
export interface ACTION {
type: string,
payload: any
}
Run Code Online (Sandbox Code Playgroud)
我想将ACTION.type限制为'LOAD_USERS'或'CREATE_USERS'.我可以通过String Literal来做到这一点type: 'LOAD_USERS'|'CREATE_USERS'.但不能用变量来做type: LOAD_USERS | CREATE_USERS.我的编辑器提示"找不到名字'LOAD_USERS'".有没有办法使用变量来做到这一点?在多个地方输入相同的字符串时可能会出现拼写错误.