2016-10-11 86 views
1

node_modules我想加載一些模塊,例如:負載的WebPack

  • 時刻
  • echarts

我的package.json:

  • 「echarts」:「^3.1.10「
  • 」moment「:」^ 2.14.1「

,但我的下一個錯誤:

VM2282:1未捕獲的ReferenceError:時刻沒有定義(...)

我的WebPack配置:

{ test: /\.js$/, loader: 'babel', exclude: /node_modules/ }

我不知道發生了什麼。有誰能夠幫助我?

+1

我想你還沒有發佈所有相關的代碼,對嗎? – evolutionxbox

+1

您是否需要手動('時刻')?你至少應該粘貼產生錯誤的代碼。 – Sergeon

+0

我有一個角度2項目,我在src/main.browser.ts中寫了require('moment')。我的項目與https://github.com/AngularClass/angular2-webpack-starter相同,因爲我將此項目用作模板。非常感謝你。 – user5424399

回答

0

添加到vendor.ts:

import 'echarts'; 
import 'moment'; 

和配置的WebPack刪除您的代碼。 這適用於我。

+0

感謝您的回答:我可以在vendor.bundle.js中看到對時刻和echarts的引用,但我無法訪問moment()方法。例如,我打開Chrome控制檯,編寫moment(),然後出現下一個錯誤:VM350:1 Uncaught ReferenceError:未定義時間(...)。 – user5424399

+0

嘿!從vendor.ts刪除導入!添加到您的.ts文件中,您正在編寫代碼「import * from'moment'」,webpack將從node_modules中導入時間庫。 –

0
import { Component } from '@angular/core'; 
import * as moment from 'moment'; 
import '../../public/css/styles.css'; 
@Component({ 
    selector: 'my-app', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 

    constructor(){ 
    let now = moment().format('LLLL'); 
    console.log(now) 
    } 
}