Angular2应用程序的简单部署,我需要学习SystemJS和Gulp吗



我在Angular2中编写了一个应用程序。在本地使用lite服务器,该应用程序运行良好。现在我有了一个网络主机,可以通过ftp传输文件。我天真地尝试将所有文件传输到服务器,并更正了一些绝对路径,这样我的应用程序就可以在服务器上访问了。

这行不通。你可以看到它在这里不起作用mypage。然后我开始在网上读到这件事,在那里我没有找到那么多。我发现有些人说你只应该上传所有的js文件,一切都应该正常,这对我来说不起作用,但也许我犯了一些愚蠢的错误。

其他人则使用Gulp、Webpack、SystemJs。。。但当他们这样做的时候,他们用一种我不理解的方式解释,因为我对这些事情一无所知。在我看来,这些过程似乎也关心让应用程序变得更小、更高效,我一点也不在乎,也许在未来我会的,但现在我只想让它像在本地一样工作。

所以我真正想知道的是,尽管制作一个在本地工作的应用程序非常容易,但部署如此困难是正常的吗?在本地工作和在服务器上工作之间还有更多的区别吗?我需要遵循关于Gulp、SystemJs…的教程吗?是因为Angular2现在没有生产吗?

如果答案是肯定的,我首先需要哪一个,我该如何开始学习这些东西?

我在这个网站上发现了几个问题,其中最相关的是如何将Typescript中开发的Angular 2应用程序部署到生产中?但没有任何答案对我有帮助。

我还在"如何准备SystemJS和Gulp的发布版本?"中尝试了第一个答案?但我对SystemJs和Gulp的完全不了解阻碍了我。

在另一个问题中,我在Github上找到了这个工作示例但我没有机会将我的项目与这个项目进行比较,我不明白示例中应该是什么,以及我应该在项目中保持什么样的状态,我所有的尝试都以我的应用程序在本地不再工作或没有改进而告终。

index.html中有以下行:

<script src="sse/test/bundle.js"></script>
<script>
System.import('sse/test/bundle.js')
.then(null, console.error.bind(console));
</script>

你们基本上是两次加载相同的文件。bundle.js被打包为系统捆绑包,您可以使用第一个脚本标记正确地加载它。一旦加载,它就可用于SystemJS,您只需要从那里调用主模块。

因此,将导入脚本更改为:

<script>
System.import('main')
.then(null, console.error.bind(console));
</script>

和应用程序应该工作。。。

你试过了吗https://github.com/angular/angular-cli?很容易使用,但我建议您学习JS模块是如何工作的。SystemJS和Webpack只是加载器和bundler的选择,Gulp只是一个构建系统,很好,但根本不需要。

最新更新