javascript - sử dụng các thư viện JS bên ngoài trong dự án angular 2 của tôi
Tôi cần sử dụng thư viện JS này trong dự án Angular 2 của tôi
câu hỏi này có thể trùng với câu hỏi của tôi, nhưng không câu trả lời nào hiệu quả với tôi
Tôi đã cố gắng bao gồm thư viện dưới dạng thẻ script trong trang index.html của mình
Nó luôn không thấy file http://localhost:8100/PrayTimes.js không tồn tại
tôi cũng đã viết đoạn mã này ở trên
declare var PrayTimes:any;
Tôi đã cố gắng sử dụng nó trong hàm khởi tạo của mình, nhưng tôi đang nhận được lỗi này
PrayTimes chưa được định nghĩa
Câu trả lời #1
Nếu bạn sử dụng angular-cli, bạn có thể thêm tất cả các tệp JS bên ngoài của bạn vào thư mục assets. Và sau đó trong angular-cli.json, thêm chúng:
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js",
"../node_modules/moment/moment.js",
"../node_modules/chart.js/dist/Chart.bundle.min.js",
"../node_modules/chart.js/dist/Chart.min.js",
"../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker.min.js",
"./assets/js/slimscroll.min.js",
"./assets/js/inspinia.js",
"./assets/js/metisMenu.js",
"./assets/js/footable.all.min.js"
]
Bạn cũng có thể làm điều đó với các kiểu ngoài:
"styles": [
"../node_modules/ng2-toastr/bundles/ng2-toastr.min.css",
"../node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss",
"../node_modules/font-awesome/scss/font-awesome.scss",
"../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker3.min.css",
"./assets/scss/plugins/footable/footable.core.css",
"./assets/scss/style.scss"
]
Và tất nhiên bạn đúng, sau đó bạn cần thêm vào typings.d.ts:
declare var PrayTimes:any;
declare var System: any;
declare var $: any;
declare var moment: any;
declare var Chart: any;
Câu trả lời #2
Đặt tất cả javascript, css bên ngoài, hình ảnh, v.v. vào src/assets
(sẽ được biên dịch vào build/assets)
Trong index.html của bạn: <script src="assets/yourJavascript.js"></script>
Sau đó bạn có thể chỉ cần sử dụng nó như bạn mô tả. (declare var PrayTimes: any;)
