首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消耗CommonJS模块角2

消耗CommonJS模块角2
EN

Stack Overflow用户
提问于 2016-03-09 03:07:21
回答 2查看 1.2K关注 0票数 0

我正在尝试编写一个简单的角2应用程序,它使用CommonJS节点模块(节点Yelp)。在默认情况下,角2使用SystemJS,它能够加载不同的模块格式。

我尝试过几种不同的SystemJS配置和导入语句,但它们似乎都以

SyntaxError:意外令牌<(…)

目前,我的SystemJS配置如下

代码语言:javascript
复制
System.config({
    packages: {
      app: {
        format: 'register',
        defaultExtension: 'js'
      }
    },
    map: {
        yelp: 'node_modules/yelp'
    }
});

System.import('app/main')
    .then(null, console.error.bind(console));

还有我的简单AppComponent.ts

代码语言:javascript
复制
import {Component} from 'angular2/core';
import Yelp from 'yelp';

@Component({
    selector: 'app',
    templateUrl: '/app/app.component.html'
})
export class AppComponent {
    constructor(yelp: Yelp) {
        console.log(yelp);
    }
}

我仍然在试图把我的头脑围绕整个模块系统,所以我不确定在这里要改变什么。任何在线结果似乎都过时了,或者与用CommonJS加载SystemJS节点模块无关。

EN

回答 2

Stack Overflow用户

发布于 2016-03-09 06:54:28

我想你可以试试这样的方法:

代码语言:javascript
复制
System.config({
  packages: {
    app: {
      format: 'register',
      defaultExtension: 'js'
    },
    yeld: {
      main: index.js
    }
  },
  map: {
    yelp: 'node_modules/yelp'
  }
});

代码语言:javascript
复制
import * as Yelp from 'yelp';
票数 1
EN

Stack Overflow用户

发布于 2016-03-10 02:04:44

正如我所预料的,这个解决办法很简单。

在角2 System.config中使用NPM包时,不要尝试滚动您自己的

相反,使用jspm安装软件包。这样做,所有的System.config都将由jspm处理。在这个特殊的情况下,它就像

jspm安装npm:yelp

然后再加上

代码语言:javascript
复制
import Yelp from 'npm:yelp@1.0.1';

到我的AppComponent.ts文件的顶部

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35882131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档