2016-10-11 49 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) 
    } 
}