0

I have created a small project using some third party libraries like Bootstrap, jQuery, ng2-oauth2, Wijmo, and etc. I decided to bundle my project by using webpack. Can anyone help me to how to include those third party libraries into my webpack implementation?

I have imported like this in vendor.ts:

// Angular

import '@angular/platform-browser';
import '@angular/platform-browser-dynamic';
import '@angular/core';
import '@angular/common';
import '@angular/http';
import '@angular/router';
// RxJS
import 'rxjs';
// Other vendors for example jQuery, Lodash or Bootstrap
// You can import js, ts, css, sass, ...
import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap-social/bootstrap-social.css';
import 'font-awesome/css/font-awesome.min.css';
import 'angular2-toaster/toaster.css';


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

Is this the correct way to import? It shows this error:

error page

I have used jQuery like this:

import { Injectable } from '@angular/core';
declare var jQuery: any;

@Injectable()
export class FooterService {

    //Get getFooterAlign Service
    getFooterAlign(): any {
        var getHeight = jQuery(window).height() - 225;
        if (jQuery(".body-container").height() < getHeight) {
            jQuery(".logInWrapper, .contentWrapper, .signupWrapper").css("height", jQuery(window).height() - 232);
            jQuery(window).resize(function () {
                jQuery(".logInWrapper, .contentWrapper").css("height", jQuery(window).height() - 225);
            });
        }
        else {
            jQuery(".logInWrapper, .contentWrapper, .signupWrapper").css("height", jQuery(".body-container").height());
            jQuery(window).resize(function () {
                jQuery(".logInWrapper, .contentWrapper").css("height", jQuery(".body-container").height());
            });
        }
    }

}

jQuery is used to align my footer section to dynamic script.

What mistakes did I make in my code?

Neil
  • 14,063
  • 3
  • 30
  • 51
Thulasi
  • 193
  • 1
  • 10

1 Answers1

0
after researching i found some solution for Jquery include below code in webpack.config.js file is working fine for me:

    module.exports = {
        resolve: {
            extensions: ['.ts', '.js'],
             alias: {
                jquery: "jquery/src/jquery"
            }
        }

----------

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

for bootstrap and other third party libraries u can directly import in vendor.ts file:

import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap-social/bootstrap-social.css';
import 'font-awesome/css/font-awesome.min.css';
import 'angular2-toaster/toaster.css';

import 'bootstrap/dist/js/bootstrap.min.js';
import 'angular2-jwt/angular2-jwt.js';
import '@ng-idle/core/bundles/core.umd.js';
import 'ng2-recaptcha';
import 'ng2-ckeditor';
import 'angular2-toaster/bundles/angular2-toaster.umd.js';
import 'ng2-bootstrap';
import 'crypto-js/crypto-js.js';
Thulasi
  • 193
  • 1
  • 10