我目前正在为require.js驱动的项目设置一个自动构建脚本(带有gruntjs).因此我想在连接和缩小r.js之前对所有必需的文件运行jslint/jshint.由于js文件夹包含很多我不想lint的开发文件,我不能只传递给JSLint.我的第一个想法是运行r.js ,lint连接文件然后缩小它,但这不是一个选项有两个原因.首先它将包括我不想lint的供应商库,然后找到错误的行,找到它的类,在dev文件夹中找到相应的js文件,在那里修复它,再次运行r.js然后lint它再次,是我们的工作流程的麻烦.所以我正在寻找一种可能将linting连接到r.js优化器进程或至少以某种方式获取requirejs依赖树的列表,我可以解析并将其传递给lint.或者任何可行的自动化流程解决方案,您都会想到.js/**/*.jsoptimizer: 'none'
我正在尝试在我的LoginService中实现isLoggedIn类型的布尔值BehaviorSubject以及getter和setter函数,以获取值作为Observable /通过其BehaviorSubject正确设置变量.这是有效的,但它在TSLint中引发了两个关于"Type not assignable"和"Dublicate identifier"的错误.在没有TSLint抱怨的情况下,定义它的正确方法是什么.
这是上述代码的精简版:
@Injectable()
export class LoginService {
public isLoggedInSource = new BehaviorSubject<boolean>(false);
public isLoggedIn: Observable<boolean> = this.isLoggedInSource.asObservable(); // Duplicate identifier 'isLoggedIn'.
constructor(private http: Http) {}
set isLoggedIn(logged): void { // Duplicate identifier 'isLoggedIn'.
this.isLoggedInSource.next(logged);
}
get isLoggedIn(): Observable<boolean> { // Duplicate identifier 'isLoggedIn'.
return this.isLoggedInSource.asObservable();
}
logout() {
this.isLoggedIn = false; // Type 'boolean' is not assignable to type 'Observable<boolean>'.
}
login(body) {
return this.http.post('/login', body)
.map(res => {
if (res.token) { …Run Code Online (Sandbox Code Playgroud)