【发布时间】:2017-06-25 15:13:05
【问题描述】:
这个看似简单的问题现在卡住了我的大脑,希望得到你的帮助。
我现在正在使用 webpack 启动 angular2 应用程序,没关系,只需运行 npm start,实际上,它正在运行此命令来提升 angular2 项目
webpack-dev-server --inline --progress --port 8080
现在一切都很好,直到我想开始实际开发。我们实际的开发是用nodeJS,我想用nodeJS来提升整个angular2项目。我知道我可以使用 npm build 来构建 Angular 项目,然后在 nodeJS/express 中使用静态页面来 loda 那个静态页面。这适用于部署或生产环境。但是对于开发,我该怎么做呢?
如上所述,我使用webpack-dev-server来boost ng2项目,其中读取了很多webpack.configuration,例如type script loader,sass loader,默认是8080端口,但是在我的nodeJs项目中,它是使用“node app”启动的,端口是3000。显然,这里造成了跨域问题。
那么是否可以让nodeJS在ng2中提升我的本地开发环境以避免跨域问题?如果我使用 nodeJS,那么 webpack 解决方案去哪里了?
希望听到你的建议
【问题讨论】:
-
您需要做的就是处理 CORS 问题以实现顺畅的开发工作流程,首先,您可以在 nodejs 配置中允许 CORS,其次,您需要为 chrome 安装 CORS 插件。
-
所以建议将nodeJS和ng2分开启动,确保ng2可以通过CORS访问nodeJS应用。并且在生产环境中,可以将ng2构建的文件放入静态目录并让nodeJS加载它
-
是的,它应该从采用 SPA 的概念开始。