在Angular 2组件上包含Javascript文件(jQuery,Bootstrap等)

时间:2017-04-20 23:47:56

标签: javascript angular

我正在创建一个包含两部分的SPA。登录页面是公开的,用于解释有关项目的内容并显示登录表单。该应用程序的其他部分不公开,只有注册用户才能访问。

网站的每个部分(Home& Dashboard)都有不同的组件。我面临的问题是这些组件有我已经捆绑的不同Javascript文件(home.js& dashboard.js)。我在互联网上找到了不同的解决方案,但他们看起来并不合适。

有关环境的一些细节是应用程序由Angular CLI构建,因此包含webpack,以防它更容易完成任务。

我想知道是否有适当的方法来实现符合Angular 2良好实践。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

-Inside angular-cli.json有一个名为apps的部分。在里面有脚本部分你可以导入你的js文件,angular cli将js文件捆绑到scripts.bundle.js并把它放到index.html

"apps": [
{
  "scripts": ["../node_modules/jquery/dist/jquery.min.js",
  "../node_modules/hammerjs/hammer.js",
  "path_to_your_file/dashboard.js",
  "path_to_your_file/home.js"]
}

- 另一种方式是你可以用经典方式在index.html中导入它们。

我不确定,但是我导入了锤子'在app.module.ts里面,但我觉得它有效,因为它是一个通过npm安装的模块。

import { MaterialModule } from '@angular/material';
import 'hammerjs';
像这样。没有什么比锤子更令人失望了。您可以将js文件转换为模块并像hammerjs一样安装它们。