Ember.js “余烬建筑”到底是做什么的

Ember.js “余烬建筑”到底是做什么的,ember.js,Ember.js,我想知道在使用ember build构建web应用程序的过程中包含了什么,因为我知道JavaScript是解释语言,不需要编译(与Java或C++不同)。您是对的,JavaScript是解释语言,而不是编译语言。您可能还知道,在web开发中,我们使用标记将JavaScript代码包含到html页面中。但在某个时候,web应用程序变得如此庞大,以至于开发人员需要将js代码分解成几个文件。这不是问题-我们可以有2个、3个或5个script标记。然而,对于更大的应用程序,我们需要像ember这样的框架

我想知道在使用
ember build
构建web应用程序的过程中包含了什么,因为我知道JavaScript是解释语言,不需要编译(与Java或C++不同)。

您是对的,JavaScript是解释语言,而不是编译语言。您可能还知道,在web开发中,我们使用
标记将JavaScript代码包含到html页面中。但在某个时候,web应用程序变得如此庞大,以至于开发人员需要将js代码分解成几个文件。这不是问题-我们可以有2个、3个或5个
script
标记。然而,对于更大的应用程序,我们需要像ember这样的框架,我们需要将代码分解成数十个甚至数百个文件。但是页面上有几十个
script
标记与有2-3个不同-大量的外部资源会减慢页面加载过程。这是第一个问题。这意味着开发人员需要一个工具来至少将所有文件连接成一个文件

另一个问题——我们的js代码格式很好。但是格式化意味着大量额外的字节-空格/制表符、新行、长变量名。所有这些额外的字节也会降低页面加载速度。为了解决这个问题,还发明了其他的工具——UGLYFIER,它采用格式化代码并去除所有多余的字节

接下来,更方便的做法是不只是按照正确的顺序连接所有js文件,而是使用一些模块系统来隔离每个模块中的代码,然后在任何其他模块中需要该模块。然后将所有这些连接到一个文件中,并使其丑陋

你听说过es6吗?这是一个新的、更好的js标准,但并非所有浏览器都支持它。要使用它的功能,您需要一个将es6代码转换为es5(在任何地方都支持)的工具。这个工具叫做“巴别塔”

此外,有时开发人员需要管理非js资产,如css或图像-连接样式,移动图像

构建是一个运行所有这些任务的过程,将大量漂亮的源文件转换为一个丑陋但有效的文件。Ember cli是一个工具集,用于完成所有这些任务,
Ember build
运行构建web应用程序所需的所有任务。其他一些框架可能有自己的工具集,如果您不使用任何框架,则存在与框架无关的工具,如
gulp
webpack
,它们有助于创建您自己的构建过程


我希望我回答了你的问题。事实上,
ember cli
做的工作比我描述的要多,您可以在中找到更多功能和详细信息。

问题中的一个小变化是javascript被解释为非编译用户指南在这里->。简而言之,有一些语言转换、资产优化,许多js和css文件被连接和缩小,这是几乎所有现代web项目的标准。