首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Angular2中集成DexieJs

如何在Angular2中集成DexieJs
EN

Stack Overflow用户
提问于 2016-08-14 18:10:54
回答 1查看 1.3K关注 0票数 1

当我试图运行与Dexie相关的代码时,我得到了这个错误。

代码语言:javascript
复制
Unhandled Promise rejection: ReferenceError: require is not defined
        at eval (http://localhost:3001/vendor/traceur/dist/commonjs/traceur.js:5:92)
    Evaluating http://localhost:3001/vendor/traceur/dist/commonjs/traceur.js
    Error loading http://localhost:3001/vendor/traceur/dist/commonjs/traceur.js
    Error loading http://localhost:3001/vendor/dexie/dist/dexie.js as "dexie" from http://localhost:3001/app/pages/portal/portal.js ; Zone: <root> ; Task: Promise.then ; Value: Error: ReferenceError: require is not defined(…)

通过声明一个数据库,我已经有了上面的错误。

代码语言:javascript
复制
// Declare Database 

class FriendDatabase extends Dexie {
    friends: Dexie.Table<IFriend,number>;   

    constructor() {
        super("FriendDatabase");
        this.version(1).stores({
            friends: "++id,name,age"
        });
    }
}

我添加Dexie的惯例是在systemjs.config.js中(在我的例子中,我使用了Typescipt)

代码语言:javascript
复制
/** Map relative paths to URLs. */
const map: any = {
  'dexie': 'vendor/dexie/dist',
  'traceur': 'vendor/traceur/dist/commonjs'

};

/** User packages configuration. */
const packages: any = {
  'dexie': { main: 'dexie.js', defaultExtension: 'js'},
  'traceur': { main: 'traceur.js', defaultExtension: 'js'}
};

编辑了我的src代码可以找到这里

编辑的

只是想说清楚。我不是说这是狄斯的图书馆问题。可能是我没有按正确的方式实现。因此,寻找在angular2中正确实现guide的指南。

编辑的

我找到了这个链接,但是添加以下代码的解决方案对我不起作用

代码语言:javascript
复制
System.register("dexie", [], true, function(require, exports, module) {
  var global = System.global,
      __define = global.define;
 global.define = undefined;
(function (global, factory) {
....

(工作)

不是什么,我很难让它起作用是通过脚本标签<script src="vendor/dexie/dist/dexie.min.js"></script>添加了dexie,然后我可以直接与dexie一起工作。

但是问题是,我不能导入dexie,而且所有对dexie的输入都丢失了。

我尝试手动复制dexie.d.ts并引用它,但是打字本不承认,所以我会出现编译错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-17 16:30:30

终于在谷歌搜索过之后。

为了用SystemJS配置Dexie,在这个github 链接。中找到了

在这里复制摘要,

通过npm安装dexie

代码语言:javascript
复制
npm install dexie --save 

更新systemjs.config.js如下:

代码语言:javascript
复制
Add 'dexie': 'node_modules/dexie/dist/dexie.js' to map.
Add 'dexie': { format: 'amd' } to packages.

另外:确保您的tsconfig文件有"moduleResolution":“节点”。

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

https://stackoverflow.com/questions/38945136

复制
相关文章

相似问题

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