Ich bin neu in Angular 2. Ich verwende ng2-Charts für mein eckiges 2-Projekt. NG2-Charts erfordert Chart.js in meiner Anwendung Header eingebettet zu sein, als solche:Uncaught ReferenceError: require ist nicht definiert auf Angular 2 webpack globale Bibliothek Installation
<script src="node_modules/chart.js/src/chart.js"></script>
Aus meiner index.html kann ich nicht nodes_modules zugreifen (Error: GET http://localhost:4200/node_modules/chart.js/dist/Chart.js). Soweit ich es verstehe, liegt es daran, dass Knotenmodule nicht in den Ordner "dist" kompiliert werden.
So muss ich chart.js als globale Bibliothek Installation hinzuzufügen (wie hier erklärt: https://github.com/angular/angular-cli#global-library-installation)
Wenn ich das tue ich „Uncaught Reference: require ist nicht definiert“. Ich nehme an, es liegt daran, dass chart.js vor systemJS geladen wird und daher nicht "require" kennt. Ich habe versucht, systemJS vor chart.js in apps [0] .scripts hinzuzufügen, aber das funktioniert auch nicht.
Hier ist mein Winkel 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
}
}
Wie würde ich mich über Chart.js oder andere externe js Bibliothek einbetten?
Ich benutze angular-cli: 1.0.0-beta.16. Knoten: 4.4.2. npm: 3.10.6. webpack 2.1.0-beta.22.
Ah! Ich habe so lange versucht, dieses Problem aufzuspüren, und ich habe das Gleiche gemacht. – Joe