2016-10-14 16 views
5

tanımlanmamış Başlarken aşağıdaki klonlanmış. Yapmam: vendor.ts ithalatı eklemek

npm install jquery bootstrap --save 

Sonra gidip ..

import 'jquery'; 
import 'bootstrap/dist/js/bootstrap'; 
import 'bootstrap/dist/css/bootstrap.min.css'; 

Sonra webpack.common.js gitti ve ilave "eklentileri: [...]" :

new webpack.ProvidePlugin({ 
    jQuery: 'jquery', 
    $: 'jquery', 
    jquery: 'jquery' 
})  

Sadece ben home.component.html modifiye ve div birine bir id = "testdiv" eklendi, bu test etmek.

home.component.ts içinde "$ ('# testdiv') ekleyin. Html ('Jquery Works')". Bunun etrafında nasıl alabilirim

error_handler.js:46 EXCEPTION: Uncaught (in promise): ReferenceError: $ is not definedErrorHandler.handleError @ error_handler.js:46next @ application_ref.js:298schedulerFn @ async.js:89SafeSubscriber.__tryOrUnsub @ Subscriber.js:223SafeSubscriber.next @ Subscriber.js:172Subscriber._next @ Subscriber.js:125Subscriber.next @ Subscriber.js:89Subject.next @ Subject.js:55EventEmitter.emit @ async.js:81onError @ ng_zone.js:123onHandleError @ ng_zone_impl.js:62ZoneDelegate.handleError @ zone.js:336Zone.runGuarded @ zone.js:242_loop_1 @ zone.js:508drainMicroTaskQueue @ zone.js:515ZoneTask.invoke @ zone.js:437 
error_handler.js:51 ORIGINAL STACKTRACE:ErrorHandler.handleError @ error_handler.js:51next @ application_ref.js:298schedulerFn @ async.js:89SafeSubscriber.__tryOrUnsub @ Subscriber.js:223SafeSubscriber.next @ Subscriber.js:172Subscriber._next @ Subscriber.js:125Subscriber.next @ Subscriber.js:89Subject.next @ Subject.js:55EventEmitter.emit @ async.js:81onError @ ng_zone.js:123onHandleError @ ng_zone_impl.js:62ZoneDelegate.handleError @ zone.js:336Zone.runGuarded @ zone.js:242_loop_1 @ zone.js:508drainMicroTaskQueue @ zone.js:515ZoneTask.invoke @ zone.js:437 
error_handler.js:52 Error: Uncaught (in promise): ReferenceError: $ is not defined 

: Ben başlangıç ​​çalıştırmak NPM

, ben hataların bir demet olsun? Ben de birlikte webpack.common.js değiştirerek çalıştı aşağıdaki:

new webpack.ProvidePlugin({ 
    'window.jQuery': 'jquery', 
    'window.$': 'jquery', 
}) 

Ayrıca işe yaramadı ...

benim index.html sayfasına giderseniz ... Ben eklerseniz:

<script src="http://code.jquery.com/jquery-3.1.1.min.js"></script> 

o inşaat, ama bunu yaparken önlemek istiyorum ...

+0

Muhtemel iki kopyası [Angular2 ile jQuery nasıl kullanılır?] (Http://stackoverflow.com/questions/30623825/how-to-use-jquery-with-angular2) – gelliott181

+0

Türleri kitaplıklarla uyumlu olduğunu düşündüm Herhangi bir yazı tipi tanımlaması yok ... Kullanmak istediğim javascript kitaplıklarının çoğunun yazım hataları olmaması nedeniyle, yazım yüklemeleri yürütmekten kaçınmak istiyorum. – Rolando

+0

Yazım olmadan kullanmak için hala kodunuzdaki bir nesne olarak TypeScript'in derleyicisini kullanılabilir hale getirmelisiniz. Bunu yapmak da, o sorunun altında, kabul edilenin altındaki üç cevapla kaplıdır. – gelliott181

cevap

4

o sorunuza cevap etmese de doğrudan ben Açısal + Bootstrap entegrasyonuna farklı bir yaklaşım öneririm: yerli sağlayan kütüphaneler vardır Bootstrap widget'larının uygulanması. Bu şekilde jQuery eklemeniz gerekmez ve Bootstrap'in CSS'sine ihtiyacınız yoktur. oldukça kolaydır

Kontrol https://ng-bootstrap.github.io yüklemek için: home.component.ts içinde https://ng-bootstrap.github.io/#/getting-started

3

İthalat jquery .

const $ = require('jquery'); 

vendor.ts dosyasında başlangıçta jquery ithal erdem olduğunu önyükleme uzatabilirsiniz böyledir. Webpack'in jquery için herhangi bir özel yapılandırmaya ihtiyacı yoktur.

İlgili konular