Angular 2依赖项

时间:2017-06-29 06:32:17

标签: javascript angular npm

请在package.json中考虑这种依赖关系:

"dependencies": {
                  "@angular/common": "2.2.1",
                  "@angular/compiler": "2.2.1",
                  "@angular/core": "2.2.1",
                  "@angular/forms": "2.2.1",
                  "@angular/http": "2.2.1",
                  "@angular/platform-browser": "2.2.1",
                  "@angular/platform-browser-dynamic": "2.2.1",
                  "@angular/router": "3.2.1",
                  "@angular/upgrade": "2.2.1"
                }

我想使用Angulajs的捆绑版本,当我运行此命令时:

  

npm install angular

安装angular.min.js我想知道那些有什么区别?有没有办法使用npm捆绑依赖项并创建单个文件?

另一个问题是我知道Angular 4已经发布,当我运行此命令时:

  

npm install angular

它会安装版本为angular.min.js的{​​{1}},那么这个文件是什么?为什么它过时了?

6 个答案:

答案 0 :(得分:3)

对于第二个问题,您可以通过运行此命令来安装Angular 2+:npm install @angular/[package]。例如:

npm install @angular/common@4.1.2 -- installs @angular/common v4.1.2

同样重要的是要注意AngularJS(版本1)与Angular(版本2 +)不同。

答案 1 :(得分:3)

这种情况的最大区别在于Angularjs(1.x)为您提供了一个大文件,整个框架并没有选项。只使用它中的一部分,甚至一点点,你必须包括它。

另一方面,Angular 2非常模块化。使用您想要的东西,甚至添加自己的文件并将它们捆绑在一起。由于它在引擎盖下使用webpack,因此它非常易于配置,可以将您自己的css甚至图像放入捆绑中。你怎么问?

ng build

这会运行webpack,它会创建一个包含各种脚本和css文件的dist文件夹。将此文件夹视为您的捆绑包。而不是angular.min.js你基本上有一个myapp.min.js,它可以包含应用程序中的所有内容,包括角度。

你可能在思考"但我只想要一个文件!"。当然,你可以拥有它。我认为这样做是不合适的,因为默认值实际上是明智的。包含所有内容的一个大5mb js文件并不总是最好的方式。但你可以拥有它!

ng eject

此命令将webpack配置输出到webpack.config.js,您在此处所做的任何更改都会在您下次运行ng buildng serve时触发。只有一个文件而不是三个文件并不复杂,但是你必须自己研究一下webpack!

答案 2 :(得分:3)

Angular 2完全重写了角度1.因此我建议将这两种语言视为两种不同的语言。不要混淆概念。 Angular 2+是完全模块化的,并且嵌入到通用,编译器,核心,http等中。这是为了树木震动。

如果要将角度依赖项捆绑到一个构建中。使用

ng eject --force

并使用

安装CommonsChunkPlugin
npm install -save-dev commons-chunk-plugin

然后,在webpack.config.js中配置CommonChunkPlugin。

要安装任何角度模块,请使用:

npm install @angular/[module-name]

答案 3 :(得分:3)

我强烈建议你研究:https://github.com/angular/angular-cli

这是由有角度的团队建立的,以帮助人们快速移动角度4.许多其他框架也做同样的事情。例如,react对此有相同的想法:https://facebook.github.io/react/blog/2016/07/22/create-apps-with-no-configuration.html

这不是直接回答你的问题,但你可以避免设置角度4所涉及的复杂性。事实上,角度cli的目的是什么,以帮助人们不停地花费数小时来弄清楚什么要安装的依赖项。

另外,不要花费数小时设置webpack来构建一个生成构建的角度项目。使用angular-cli,它只是运行以下命令:

ng build --prod

答案 4 :(得分:3)

当您运行npm install angular时,会安装AngularJS(v1.x) 这就是为什么,当您运行该命令时,安装了 AngularJS 的最新稳定版本,即v1.6.4
注意:Angular v1(AngularJS)仍为supported。最后一次稳定发布是3个月前。


Angular 2及以上版本简称为Angular 注意:Angular( v2或v4 )是AngularJS的不兼容重写 v1

<小时/> 现在的问题是你应该根据要求选择上述任何一种。您遵循的步骤是获取AngularJS(v1) 您可以查看Angular Quickstart以开始使用Angular2 +,现在更新为v4.4.5(截至2017年7月5日)。
您可以查看Package.json,您会注意到,

"dependencies": {
  "@angular/common": "~4.0.0",
  "@angular/compiler": "~4.0.0",
  "@angular/core": "~4.0.0",
  "@angular/forms": "~4.0.0",
  "@angular/http": "~4.0.0",
  "@angular/platform-browser": "~4.0.0",
  "@angular/platform-browser-dynamic": "~4.0.0",
  "@angular/router": "~4.0.0",

  "angular-in-memory-web-api": "~0.3.0",
  "systemjs": "0.19.40",
  "core-js": "^2.4.1",
  "rxjs": "5.0.1",
  "zone.js": "^0.8.4"

},
应该安装当前稳定版本的 Angular

<小时/> angular-cli (Angular的命令行工具)

答案 5 :(得分:2)

提到Manubhargav,当您运行<script type="text/javascript"> $(document).ready(function() { $('#countdown').countdown('2017/07/10 06:32:11', function(event) { $(this).html(event.strftime('%H:%M:%S')); }); }); </script> 时,将安装AngularJS(v1.x)。

要安装最新版本的角度2,请使用<?php $count = $DB_con->prepare("SELECT * FROM `auction` WHER ORDER BY id DESC"); $count->execute(); foreach ($count->fetchAll() as $rowL) { ?> <script type="text/javascript"> $(document).ready(function() { var countdw; countdw = = <?php echo $rowL['dateauction']; ?> $('#countdown').countdown(document.write(countdw), function(event) { $(this).html(event.strftime('%H:%M:%S')); }); }); </script> <?php } ?> 。  此命令将更新npm install angularnpm install angular-2 --save个文件,并为其添加package.json依赖项。

注意:如果您遇到package-lock.json错误,请按npm安装:angular-2

要安装最新版本的角度4,您可以使用以下两种方法之一:

  • 使用角度CLI:
    1. 安装Angular CLI:typings install
    2. 创建一个新项目:npm install typings --global
    3. 提供应用程序:转到项目目录并启动服务器。 npm install -g @angular/cli
  • 使用种子项目进行手动设置:
    1. 从github克隆种子项目:ng new my-app
    2. 运行应用程序:转到项目目录并启动服务器。 cd my-app ng serve --open 项目构建完成后,将在http://localhost:3000/
    3. 上提供