我知道這個問題之前已經被問過了,但是在搜索並嘗試了大量我不得不問的東西之後。角度4,全局導入外部javascript
我使用的是Angular Starter包和嘗試導入external javascript library
我沒有問題,直接將它導入到我的部件,像這樣
import * as loadImage from 'blueimp-load-image/js/index.js';
但據我所知,我應該引入外部腳本(帶有異步操作)在zone.js之前,因爲否則可能會導致更改檢測出現問題。其實這正是我在iOS中遇到的Safari問題。目前我必須手動調用更改檢測。
在角度啓動包中zone.js
在名爲polyfills.ts
的文件中是必需的,該文件被webpack作爲chunk/js文件添加。
import 'blueimp-javascript-to-blob-for-angular';
//how to import so it's useable in any component?
import 'blueimp-load-image/js/index';
import 'core-js/es6';
import 'core-js/es6/set';
import 'core-js/es7/reflect';
require('zone.js/dist/zone');
if ('production' !== ENV) {
Error['stackTraceLimit'] = Infinity;
require('zone.js/dist/long-stack-trace-zone');
}
如何以及在哪裏我可以導入我的外部JavaScript文件zone.js之前(下面的內容),所以我仍然可以使用它在我的組件?
到目前爲止,我的問題是,我無法訪問外部庫函數,因爲他們總是undefined
。但他們已被添加到生成的JavaScript文件。
將外部javascript導入到angular 4項目中的整個過程對我來說似乎非常複雜。 JavaScript文件的
內容:在您的index.html文件的頭部部分
module.exports = require('./load-image')
require('./load-image-scale')
require('./load-image-meta')
require('./load-image-fetch')
require('./load-image-exif')
require('./load-image-exif-map')
require('./load-image-orientation')
你有沒有機會嘗試[我的解決方案](https://stackoverflow.com/a/45793458/2545680)? –