让nodeJS刷新angularjs2文件而不用npm start

时间:2017-02-07 18:57:03

标签: node.js angular express systemjs es6-module-loader

我正在使用angularjs2在客户端和nodejs中使用typescript并在后端表达,每次我在端口3000上运行我的节点服务器时对客户端文件(.ts& .html)进行更改我没有得到保存的更改,所以我必须为ng-2 lite-server运行npm start,以便刷新以获得更改,我不确定是否需要单个模块加载器,如 SystemJS ,这是我使用ng2的那个,或者我需要在我的服务器中使用另一个systemjs,以便在保存后进行更改。

在我的服务器文件中

app.use(express.static(path.join(__dirname, 'client')));

加载静态文件,并加载index.html文件,该文件包含我知道他们为ng2加载应用程序模块的行

 <script src="systemjs.config.js"></script>
<script>
  System.import('app').catch(function(err){ console.error(err); });
</script>

由于我的服务器加载了包含上述代码的index.html,我希望nodejs和express相应地加载更新的文件,还是因为nodejs使用commonJS而不是system?

这是正确的方法吗?还是有更好的ng2和nodejs集成方法?

这方面有哪些有效的选择?

1 个答案:

答案 0 :(得分:1)

我建议使用pm2来运行您的节点服务器。 --watch标志将重新启动节点(非正常但很快)。如果您的Angular应用程序位于节点应用程序文件夹中,那么节点将仅在标志的情况下重新启动,如果它在外面,那么您可以将指定的路径传递给--watch标志。

pm2是Node的生产质量工具,在本地也很好用。

详细信息:http://pm2.keymetrics.io/docs/usage/watch-and-restart/
示例cmd:pm2 start index.js --watch