首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在角度应用中使用外部javaScript库

在角度应用中使用外部javaScript库
EN

Stack Overflow用户
提问于 2017-07-06 10:01:10
回答 6查看 76.1K关注 0票数 43

我有一个角4应用程序,我有一个javascript组件,它是我在javascript文件:timeline.js中创建的。javascript组件运行良好,但我想将它与角4一起使用。因此,我将js文件放在文件夹assets/js/timeline.js中。

index.html文件中,我用<script src="assets/js/timeline.js"></script>调用js文件,在app.component.ts中,我有:

代码语言:javascript
复制
var timeline = new Timeline("timelineVisualization")

所以,通常,时间线是在有id="timelineVisualization"的div中创建的。

但是它不起作用,而且我在new Timeline上有一个错误:找不到名字Timeline。

那么,您知道如何从timeline.js调用Timeline构造函数吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-07-06 10:10:35

你只需要做

代码语言:javascript
复制
 import * as Timeline from '../assets/js/timeline.js';

您也可以这样做(在文件的顶部):

代码语言:javascript
复制
declare var Timeline: any;

还可以查看下面的良好实践。

票数 61
EN

Stack Overflow用户

发布于 2017-07-06 10:16:16

只需扩展@Deblaton对上图的回答,作为一般的良好实践,最好将js或其他css文件作为构建的一部分,而不是将它们放在index.html中。

如果您使用的是一个捆绑器,使用类似的东西。

代码语言:javascript
复制
  "styles": [
    "styles.scss",
    //Other style files
  ],
  "scripts": [
    "../node_modules/jsplugin/dist/js/plugin.js",
    //Other script files
  ],
票数 32
EN

Stack Overflow用户

发布于 2020-09-13 04:00:45

在javaScript中添加外部Angular2+库有4种方法。例如: npm中的tinymce lib

1.向index.html:添加库

代码语言:javascript
复制
<script src="assets/tinymce.min.js"></script>

*.component.ts:

代码语言:javascript
复制
// tell TypeScript compiler that "tinymce" variable is declared somewhere in *.js
declare let tinymce: any;

2.向Angular.json:添加库

从国家预防机制安装修补程序:

代码语言:javascript
复制
npm i tinymce

将*.js添加到angular.json:

代码语言:javascript
复制
"scripts": ["node-modules/tinymce/tinymce.min.js"]

*.component.ts:

代码语言:javascript
复制
// tell TypeScript compiler that "tinymce" variable is declared somewhere in *.js
declare let tinymce: any;

3.在TypeScript:中导入javaScript文件

从国家预防机制安装修补程序:

代码语言:javascript
复制
npm i tinymce

*.component.ts:

代码语言:javascript
复制
//tinymce: is a variable in 'tinymce.min.js' file => dont need "declare let tinymce"
import * as tinymce from 'tinymce/tinymce.min.js'; // "js" at the end is important

4.4.TypeScript方式(我喜欢):

搜索typeScript header *.d.ts以在https://www.typescriptlang.org/dt/search?search=tinymce上查找tinymce

然后安装:

代码语言:javascript
复制
   npm i @types/tinymce --save-dev

加入tinymce.min.js到角度,沿着上面的第一或第二条路。

*.component.ts:

代码语言:javascript
复制
// tinymce module at 'node-modules/@types/tinymce'
// 'node-modules/@types/tinymce'is just header, so it isn't compiled with angular
// don't need to use "declare let tinymce"
import * as tinymce from 'tinymce';

你可以跳过丁尼的函数。很容易阅读tinymce lib的代码。

以上四种方式都是

在javaScript语法中使用tinymce。例如,tinymce lib:https://www.tiny.cloud/docs/general-configuration-guide/use-tinymce-classic/#中的指南

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44945766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档