什么阻止我的AngularJs 2应用程序运行检查器中显示的命令?
我正在尝试使用Angular 2.我使用npm start
在Chrome中创build一个实时编码环境,并且看到不寻常的行为。
我的代码库的早期版本在文件A.service.ts中出现如下:
export class AService{ constructor( private http : Http ){} test( valueA : string, valueB : string ){ var dataObj = { valueA, valueB } console.log( dataObj ); console.log( this.http ); } }
运行我的程序后,控制台将成功显示两个对象。 第一个对象向我展示了值“valueA”和“valueB”,第二个对象是一个Http对象,向我展示了我的服务已经正确加载了,并且方法正在被期望的值所调用。 为了将来的参考,我们将调用这个控制台日志模式“输出A”。
我改变了我的服务定义。 我改了几次。 每次保存文件的新版本时,应用程序都会自动重新加载。 在每个版本上,我都试图将代码和控制台输出添加到服务对象testing方法中。 但是,在每次迭代中,只会出现“输出A”。
我删除了testing方法的所有原始代码,然后再次运行代码,仍然看到“输出A”。
我遵循检查器中的代码执行,检查员将我逐行放在新代码上,现在看起来像这样:
export class AService{ constructor( private http : Http ){} test( valueA : string, valueB : string ){ console.log( "Testing AService. Method called successfully."); } }
debugging行显示我执行的下一个命令应该在控制台上loggingstring“Testing AService …”,但不是这样,我看到我之前实现的“Output A”。 我检查了.ts文件,检查了.js文件,并且都显示了新的代码库。 Chrome显示新的代码库,但控制台正在接收来自OLD代码库的日志消息。
我已经使用Ctrl-Cclosuresnpm,并再次调用npm start
,并且仍然看到旧代码库的输出。
这对我来说真是令人困惑! 任何想法可能会发生什么?
浏览器高速caching擦除之后系统重新启动后的屏幕截图:
更新
重新启动系统并清除所有caching后,我再次search了所有.js文件,发现我的原始代码库WAS实际上是在.js文件中。 我的问题的答案似乎在于删除这些文件,然后重新启动NPM ….在watch模式下运行TSC应用程序时,阻止NPM覆盖JavaScript文件。
我的问题的答案似乎在于删除这些文件,然后重新启动NPM ….当在watch模式下运行TSC应用程序时,有些东西阻止了NPM覆盖JavaScript文件。
请参阅原始问题中的更新。