通过 angular cli 使用外部库

Using external library with angular cli

我在 angular 应用程序中安装了一个第 3 方模块 jsPDF。该模块运行良好,但我的控制台出现错误:

Cannot find module '../../../node_modules/jspdf/dist/jspdf.min.js'.

我做了什么:

  1. 通过 npm 安装模块:

npm install MrRio/jsPDF --save

  1. 在我的组件中导入模块:

import * as jsPDF from '../../../node_modules/jspdf/dist/jspdf.min.js';

  1. 然后在我的组件中简单地使用这个模块。

这里是不是少了什么?

查看此处的说明:github.com/angular/angular-cli#3rd-party-library-installatio‌​n

如果 jsPDF(或任何其他库)需要在全局范围内,您需要将 JS 文件添加到 angular-cli.json 文件中的 apps[0].scripts,WebPack 然后将其捆绑,就像它加载了一个 <script> 标签。如果这样做,您可以通过在 src/typings.d.ts 或组件中添加 declare var jsPDF: any; 来实现。

但是,jsPDF 似乎有类型 npmjs.com/package/@types/jspdf,因此您可以在 运行 npm install --save-dev @types/jspdf 之后包含它;你应该能够 import { jsPDF } from 'jspdf'; 在你的组件中。