【发布时间】:2017-03-03 21:17:24
【问题描述】:
我是 Angular 2 的新手。我在 Angular 2 项目中使用 ng2-charts。 ng2-charts 要求将 Chart.js 嵌入到我的应用程序标头中,例如:
<script src="node_modules/chart.js/src/chart.js"></script>
从我的 index.html 我无法访问 nodes_modules (Error: GET http://localhost:4200/node_modules/chart.js/dist/Chart.js) 。据我了解,这是因为 node_modules 没有“编译”到 dist 文件夹中。
因此我需要将 chart.js 添加为全局库安装(如此处所述:https://github.com/angular/angular-cli#global-library-installation)
当我这样做时,我得到“Uncaught ReferenceError: require is not defined”。我认为这是因为 chart.js 在 systemJS 之前加载,因此不知道“require”。我尝试在apps[0].scripts 中的chart.js 之前添加systemJS,但这也不起作用。
这是我的 angular-cli.json:
{
"project": {
"version": "1.0.0-beta.16",
"name": "poc1-iot-monitor-frontend"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": "assets",
"index": "index.html",
"main": "main.ts",
"test": "test.ts",
"tsconfig": "tsconfig.json",
"prefix": "app",
"mobile": false,
"styles": [
"styles.css"
],
"scripts": [
"../node_modules/systemjs/dist/system.src.js",
"../node_modules/chart.js/src/chart.js"
],
"environments": {
"source": "environments/environment.ts",
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"addons": [],
"packages": [],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "css",
"prefixInterfaces": false
}
}
我将如何嵌入 Chart.js 或任何其他外部 js 库?
我正在使用 angular-cli: 1.0.0-beta.16。节点:4.4.2。 npm:3.10.6。 webpack 2.1.0-beta.22。
【问题讨论】:
标签: javascript angular typescript webpack angular-cli