Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 是什么阻止我的AngularJs 2应用程序运行inspector中显示的命令?_Node.js_Angular_Typescript - Fatal编程技术网

Node.js 是什么阻止我的AngularJs 2应用程序运行inspector中显示的命令?

Node.js 是什么阻止我的AngularJs 2应用程序运行inspector中显示的命令?,node.js,angular,typescript,Node.js,Angular,Typescript,我正在用Angular 2做实验。我使用npm start在Chrome中创建了一个实时编码环境,我看到了不寻常的行为 我的代码库的早期版本出现在文件A.service.ts中,如下所示: export class AService{ constructor( private http : Http ){} test( valueA : string, valueB : string ){ var dataObj = { valueA, valueB }

我正在用Angular 2做实验。我使用
npm start
在Chrome中创建了一个实时编码环境,我看到了不寻常的行为

我的代码库的早期版本出现在文件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”

我更改了我的服务定义。我换了好几次。每次保存文件的新版本时,应用程序都会重新加载自身。在每个版本中,我都试图将代码和控制台输出添加到服务对象测试方法中。然而,在每次迭代中,只会出现“输出A”

我删除了测试方法的所有原始行,再次运行代码,仍然看到“Output A”

我在inspector中跟踪代码的执行,inspector会逐行检查新代码,现在看起来如下所示:

export class AService{
    constructor( private http : Http ){}
    test( valueA : string, valueB : string ){
        console.log( "Testing AService. Method called successfully.");
    }
}
调试行向我显示,执行的下一个命令应该将字符串“testingaservice…”记录到控制台,但我看到的不是这个,而是我以前实现中的“Output A”。我检查了.ts文件和.js文件,它们都显示了新的代码库。Chrome显示了新的代码库,但控制台正在接收来自旧代码库的日志消息

我已经使用Ctrl-C关闭了npm,并再次调用了
npm start
,但仍然看到了旧代码库的输出

这真让我困惑!对可能发生的事情有什么想法吗

浏览器缓存擦除后,系统重新启动后的屏幕截图:

更新


重新启动系统并清除所有缓存后,我再次搜索了所有的.js文件,发现原来的代码库实际上在.js文件中。我的问题的答案似乎在于删除这些文件,然后重新启动NPM。。。。在监视模式下运行TSC应用程序时,有东西阻止NPM覆盖JavaScript文件。

我的问题的答案似乎在于删除这些文件,然后重新启动NPM。。。。在监视模式下运行TSC应用程序时,有什么东西阻止NPM覆盖JavaScript文件


请参阅原始问题中的更新。

如果我使用的是webpack或其他文件绑定器,您可能需要重新启动在
npm start
中运行的任何程序,清除web浏览器的缓存并清除生成的文件(这将有助于了解您是否正在使用webpack或其他工具来绑定生成的文件),我这样做是不知不觉的。根据您的建议,我已将所有值类型的浏览器缓存“擦除到时间的开始”。我已经关闭了npm服务器、Chrome浏览器和IDE,并且重新启动了计算机。尽管如此,我还是看到了旧代码库的输出,它不再存在于可见文件中。我可以补充说,在上周结束时,我更改了我的package.json文件,使其具有以下设置:{“scripts:{“start”:“concurrent\”npm run tsc:w\“\”npm run lite\“…}}。。。。这是在另一篇帖子建议对“npm start”命令进行此更改后完成的,以避免在我尝试使用“npm start”运行Quickstart seed package.json文件的第二次、第三次和第四次时出现致命错误。新脚本将“并发”标识符移动到命令行的开头。