【问题标题】:How to include angular 5 libary without using npm install如何在不使用 npm install 的情况下包含 Angular 5 库
【发布时间】:2018-07-12 20:41:31
【问题描述】:

angular 5 中,安装包或库所需的 npm install。我想知道 如果可以包含这样的库:

<script src="http://xxxx/.js" ><script>

或使用angular-cli

我不知道我应该在新项目中放入哪个文件。或者如何使用它 例如:

在 angularjs 1.x 中 我们可以为我们使用脚本 xxx 来包含第 3 方库,我想做的与不使用 npm install 的第 3 方库相同。仅此而已。更好 使用下面的例子

````

```

【问题讨论】:

  • 具体问题是什么,请重新表述您的问题
  • 对不起,让我更新我的问题。
  • 我很想知道你为什么不想使用 npm install (即使是 3rd 方库)
  • @JosephMTsai 不确定这到底是什么意思,但你有一些内部库这一事实并不能阻止 npm 的使用。
  • 那就不要发布了。或者将其发布到私有 npm 存储库中。或者使用私人 git repo 并从 git url 安装你的库。同样,您拥有一些内部库这一事实并不能阻止 npm 的使用。不过,你需要像其他一切一样学习它。

标签: angular angular5 angular-library


【解决方案1】:

要让脚本通过 npm 机制可用,您可以简单地将其替换为 git url 而不是包名,例如git@bitbucket.com:name/package.

来自npm docs

<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]

或者,您可以使用 npm 链接的组合,但仅限于单个系统。

最后,Typescript 本身可以帮助你。假设您的应用程序位于 src/app 文件夹中,您的库位于 src/lib 中。您可以简单地使用常规打字稿(或 ES)导入在代码中导入库。 Angular 应该负责其余的工作。

【讨论】:

    【解决方案2】:

    它与tsconfig.json 文件中的paths 一起工作,其中一个库和一个应用程序作为同一个Angular 工作区(同一个node_modules 文件夹)的一部分。但对我来说,当我在不同的项目(Angular 工作区)中使用它时它不起作用,可能是因为不同版本的 Angular 依赖项。 ng serve 说: error TS2451: Cannot redeclare block-scoped variable 'ngDevMode'

    更新

    终于明白了!可以使用npm link 创建指向库的符号链接,并在angular.json 文件中将属性preserveSymlinks 设置为true。示例:

    "architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { ... "preserveSymlinks": true, ...

    【讨论】:

      猜你喜欢
      • 2019-03-30
      • 2019-10-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2020-01-12
      • 1970-01-01
      • 2022-11-22
      相关资源
      最近更新 更多