2016-07-09 32 views
7

Tôi đang kiểm tra kiểu chữ với jquery, nhưng khi tôi biên dịch tệp test.ts, nó luôn cho tôi một lỗi chỉ ra: Không thể tìm thấy tên '$'.

Tôi đã nhập jquery & đã thêm tham chiếu định nghĩa của nó. Nếu tôi sử dụng import $ = require("jquery") trong tệp test.ts của mình, một lỗi khác "Cannot find module jquery" sẽ xảy ra khi thực hiện biên dịch tsc. Tuy nhiên, thư mục JQuery đã tồn tại trong thư mục node_modules.

Có ai biết cách sử dụng jquery đúng trong bản đánh máy không?

Dưới đây là các bước của tôi:

  1. Install jquery sử dụng npm install jquery --save
  2. Install typings nét & jquery sử dụng typings install --global --save dt~jquery
  3. Thêm tài liệu tham khảo jquery ở phía trên của test.ts /// <reference path="../../../typings/globals/jquery/index.d.ts" />

tsconfig .json

{ 
    "compilerOptions": { 
     "jsx": "react", 
     "outDir": "./dist", 
     "sourceMap": true, 
     "noImplicitAny": true, 
     "module": "commonjs", 
     "target": "es5", 
     "experimentalDecorators": true 
    }, 
    "exclude": [ 
     "node_modules" 
    ], 
    "files": [ 
     "./typings/index.d.ts", 
     "./src/wo/tests/test.ts", 
    ] 
} 

test.ts

/// <reference path="../../../typings/globals/jquery/index.d.ts" /> 

let test:any=$("div"); 
+2

Làm cách nào để bạn biên dịch dự án? Ngoài ra có vẻ như định nghĩa 'tsconfig.json' của bạn sai. Bạn không thể sử dụng cả hai 'loại trừ' và' tệp' ('tệp' sẽ thắng trong trường hợp này, vì vậy có thể đường dẫn sai). Ngoài ra, bạn không cần '///

Trả lời

11

Tôi không biết nếu nó giúp nhưng tôi đã giải quyết được vấn đề tương tự cho datepicker tôi.

Trước tiên tôi cài đặt jQuery với lệnh này: npm install --save-dev @types/jquery

Sau đó, thêm phụ thuộc trong hồ sơ góc-cli.json của bạn:

"styles": [ 
      "../node_modules/bootstrap/dist/css/bootstrap.css", 
      "../node_modules/font-awesome/css/font-awesome.css", 
      "../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker3.min.css", 
      "styles.css" 
     ] 

"scripts": [ 
      "../node_modules/jquery/dist/jquery.js", 
      "../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker.min.js" 
     ] 

Tôi nghĩ rằng việc thêm phần jQuery có thể làm việc ra cho bạn. Xin vui lòng cho tôi biết nếu nó hoạt động.

+5

'npm install --save-dev @ types/jquery' giải quyết vấn đề. Cảm ơn. – Shikhar

+0

Bạn được chào đón, bro. Vui mừng nó đã giúp. –

7

Nếu bạn thấy các lỗi này 90% thời gian của mình vì versioning Vấn đề của các loại @/jquery

thử chạy:

npm install jquery --save 

Sau đó, trong app.module.ts:

import * as $ from 'jquery'; 

Sau đó chạy:

npm install @types/[email protected] 

Và bạn nên sẵn sàng để đi.

+0

Điều này làm việc cho tôi mặc dù tôi đã phải đặt jquery trong một chuỗi như 'import * as $ from" jquery ";'. IntelliJ làm nổi bật màu xám như một mục nhập chưa sử dụng nhưng ứng dụng sẽ chỉ biên dịch với dòng này. – hughjdavey

Các vấn đề liên quan