我想为Angular创建一个简单的hello world应用。

当我按照官方快速入门中的说明安装时,在我的项目中创建了32,000个文件。

我认为这是一个错误或我错过了一些东西,所以我决定使用angular-cli,但在设置项目后,我数了41,000个文件。

我哪里错了?我是不是忽略了一些非常非常明显的东西?


当前回答

如果你使用的是angular cli的新版本,请使用ng build——prod

它将创建dist文件夹,其中有更少的文件和项目的速度将提高。

此外,为了在本地测试angular cli的最佳性能,你可以使用ng serve——prod

其他回答

                                Typical Angular2 Project

NPM包                        文件(开发 )                    现实世界中文件(部署)

@angular                       3,236                             1
rxJS                           1,349                             1*
core-js                        1,341                             2
typings                        1,488                             0
gulp                           1,218                             0
gulp-typescript                1,243                             0
lite-server                    5,654                             0
systemjs-builder               6,470                             0
__________________________________________________________________
Total                         21,999                             3  

*:与@angular捆绑

[参见此捆绑过程⇗]

没什么问题。这些都是您在package.json中提到的所有节点依赖项。

如果你已经下载了一些git hub项目,请小心,它可能有很多其他的依赖关系,而这些依赖关系实际上并不是angular 2 first hello world app所需要的:)

确保你有角度依赖 -rxjs 狼吞虎咽地吃 打印稿 -tslint 码头工人

如果你使用的是angular cli的新版本,请使用ng build——prod

它将创建dist文件夹,其中有更少的文件和项目的速度将提高。

此外,为了在本地测试angular cli的最佳性能,你可以使用ng serve——prod

您的配置没有问题。

Angular(从2.0版开始)使用npm模块和依赖项进行开发。这就是你看到这么多文件的唯一原因。

Angular的基本设置包括编译器、类型依赖关系,这些仅用于开发目的。

一旦您完成了开发,您所需要做的就是捆绑这个应用程序。

在捆绑你的应用程序之后,只有一个bundle.js文件可以部署到你的服务器上。

'transpiler'只是一个编译器,感谢@omninonsense添加它。

您的开发配置没有问题。

您的生产配置有问题。

当你开发一个“Angular 2项目”或“任何基于JS的项目”时,你可以使用所有文件,可以尝试所有文件,可以导入所有文件。但如果你想为这个项目服务,你需要合并所有结构化文件,并摆脱无用的文件。

有很多选项可以将这些文件合并在一起:

YUI Compressor 闭包编译器 对于服务器端(我认为最好)GULP