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

在Angular 2组件上包含Javascript文件(jQuery、Bootstrap等),javascript,angular,Javascript,Angular,我正在创建一个由两部分组成的水疗中心。这是一个公共的登录页面,用于解释有关项目的内容并显示登录表单。应用程序的另一部分不是公共的,只有注册用户才能访问 站点的每个部分(主页和仪表板)都有不同的组件。我面临的问题是,这些组件具有我已经绑定的不同Javascript文件(home.js和dashboard.js)。我在互联网上发现了不同的解决方案,但它们看起来并不合适 关于环境的一些细节是,应用程序是由Angular CLI构建的,因此包含了webpack,以防它使任务变得更简单 我想知道是否有一个

我正在创建一个由两部分组成的水疗中心。这是一个公共的登录页面,用于解释有关项目的内容并显示登录表单。应用程序的另一部分不是公共的,只有注册用户才能访问

站点的每个部分(主页和仪表板)都有不同的组件。我面临的问题是,这些组件具有我已经绑定的不同Javascript文件(home.js和dashboard.js)。我在互联网上发现了不同的解决方案,但它们看起来并不合适

关于环境的一些细节是,应用程序是由Angular CLI构建的,因此包含了webpack,以防它使任务变得更简单

我想知道是否有一个合适的方法来满足Angular 2的良好实践


任何帮助都将不胜感激。

-angular-cli.json中有一个名为apps的部分。在“有脚本”部分中,您可以导入js文件,然后将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中导入了“hammerjs”,但我认为它可以工作,因为它是通过npm安装的模块

import { MaterialModule } from '@angular/material';
import 'hammerjs';

像这样。hammerjs没有什么比这更令人沮丧的了。您可以将js文件转换为模块,并像hammerjs一样安装它们

-angular-cli.json中有一个名为apps的部分。在“有脚本”部分中,您可以导入js文件,然后将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中导入了“hammerjs”,但我认为它可以工作,因为它是通过npm安装的模块

import { MaterialModule } from '@angular/material';
import 'hammerjs';

像这样。hammerjs没有什么比这更令人沮丧的了。您可以将js文件转换为模块,并像hammerjs一样安装它们

这似乎是一个显而易见的问题,但是否需要区分哪个javascript文件用于哪个组件?难道你不能把所有的js捆绑在一起(如果你想减少初始捆绑的大小,就要考虑延迟加载)?这似乎是一个明显的问题,但是,有必要区分哪个javascript文件用于哪个组件吗?你能不能把所有的js捆绑在一起(如果你想减少初始捆绑包的大小,可以考虑延迟加载)?非常感谢,我已经在脚本部分包含了这些文件。没问题,很乐意帮助。^非常感谢,我已经在脚本部分包含了这些文件。没问题,很乐意帮助^_^