Как использовать внешние JS-файлы в Angular 6
Я начал проект с Angular, но я никогда не думал, что установка самой последней версии принесет мне пару проблем. Я также использую материализацию, поэтому, когда я пытаюсь "импортировать" его файл Javascript, он не работает. Не знаю почему, я искал ответ с прошлой пятницы, но ничего не нашел.
Я изменил угол.JSON-файл и ссылается на мое местоположение JS в нем, но этого недостаточно.
P. D. Я не должен использовать CDN для материализуются в JS.
2 ответов
проекты CLI в angular 6 и далее использует angular.json
вместо .angular-cli.json
для конфигурации сборки и проекта. Это означает, что вы используете Angular 6.
Начиная с v6, расположение файла изменилось на angular.json
. Поскольку больше нет ведущей точки, файл больше не скрыт по умолчанию и находится на том же уровне.
что также означает, что пути к файлам в угловой.json не должен содержать ведущие точки и косую черту i.e вы должны предоставить абсолютный путь
установить MaterializeCSS и angular2-материализуются из npm
npm install materialize-css --save
npm install angular2-materialize --save
npm install jquery@^2.2.4 --save
npm install hammerjs --save
после установки всех необходимых зависимостей добавьте их в массив стилей и скриптов angular.json
"styles": [
"src/styles.css",
"node_modules/materialize-css/dist/css/materialize.css"
],
"scripts": [
"node_modules/jquery/dist/jquery.js",
"node_modules/hammerjs/hammer.js",
"node_modules/materialize-css/dist/js/materialize.js"
]
Я думаю, что ключ: правильное место в конфигурации. У нас есть два места, где мы потенциально можем вставить пути для сценариев. (Угловое CLI: 6.1.5)
первый: (проекты => ваше имя приложения = > архитектор = > сборка)
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/<your app name>",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.css"
],
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/bootstrap/dist/js/bootstrap.min.js"
]
},
"configurations": { ... }
}
второй: (проекты => ваше имя приложения = > архитектор = > тест) - неправильное место
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"styles": [
"src/styles.css"
],
"scripts": [
],
"assets": [
"src/favicon.ico",
"src/assets"
]
}
}
после этого у вас будет что-то вроде этого на вашем браузер:
Я надеюсь, что это помогло ;)