簡體   English   中英

如何將JavaScript文件導入angular2

[英]How to import JavaScript file into angular2

我無法弄清楚如何將javascript文件導入我的angular2項目。 這是一個不是npm的模塊的文件,我能找到的唯一指令是使用npm,這不是一個選項。

我使用的是角度cli,在我的angular-cli.json文件中,我有:

{
"apps": [
  "styles": [..],
  "scripts": ["../pathtomyjs/file.js"] 
]}

我運行構建和ng服務,當我打開我的應用程序並查看Web控制台並嘗試引用我的js文件中的函數時,我能夠成功完成。

我鍵入的控制台中的示例:

var test = MyObject; 

我得到test = {};

但是,當我嘗試做的時候

let test = MyObject;

在我的組件.ts文件中,我得到:

home.component.ts (10,11): Cannot find name 'MyObject'.)

不知道如何在Angular2中這樣做。

謝謝!

做:

declare var MyObject: any;

let test = MyObject;

要么:

let test = (<any> MyObject);

對於jQuery:

declare var jQuery: any;

jQuery.ajax({ ... });

它是第三方圖書館嗎? 你必須讓typescript編譯器知道類型定義文件的位置。 通常,它在node_modules/@types文件夾下node_modules/@types 例如,如果您想使用jQuery ,則可以通過運行以下命令來安裝必要的類型定義文件:

npm install @types/jquery

我在這里深入探討了這個問題

這是一個很好的問題,我很高興你問,因為我希望我第一次遇到這個小問題的時候就有了我要寫的內容。 這是一個打字稿/ javascript和webpack問題,然后才會出現角度問題。 我絕對計划盡快在我的博客寫一篇文章

你的場景:

你跑

npm install mathjs
  1. 現在您嘗試使用組件中的math.js:
  2. 找到math.js dist js文件(node_modules / mathjs / dist / math.js)並像這樣引用

    import {mathjs} from "../../node_modules/mathjs/dist/math";

  3. 但是你收到錯誤信息"set --allowJS". 你這樣做:

    Set --allowJS in config (tsconfig.json) { "compilerOptions": { "allowJs": true, ...

  4. 現在你得到:

錯誤在../node_modules/mathjs/dist/math.js(12209,13):檢測到無法訪問的代碼。

  1. 查看math.js源代碼,你會看到它是一個舊的學校模塊,但沒有根包裝函數(一個函數將它們全部帶到黑暗中並將它們綁定起來......)(稍后會詳細介紹)。

解決方案 :為目標庫安裝一個打包文件(@ types / mathjs)

閱讀更多...

我將我的js文件放入app/assets/scripts並將它們加載到index.html <script src="assets/scripts/foobar.js"></script> 這是針對ionic2 / angular2項目。

在模塊中,您必須在模塊文件的全局范圍內定義這樣的函數

declare var myFancyFunction;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM