【问题标题】:Importing "gitlab" package from MeteorJS returns empty object从 MeteorJS 导入“gitlab”包返回空对象
【发布时间】:2019-08-18 07:24:37
【问题描述】:

我用meteor npm install --save gitlab在我的Meteor项目中安装了gitlab,并在imports/api/foo.js文件中导入了包含以下所有变体的包(前面的注释是Gitlab对象的日志):

import Gitlab from 'gitlab';                  // {}
import * as Gitlab from 'gitlab';             // { default: {}, [Symbol(__esModule)]: true }
import { Gitlab } from 'gitlab';              // undefined
const Gitlab = require('gitlab');             // {}
const Gitlab = require('gitlab/dist/es5');    // {}
const Gitlab = require('gitlab/dist/latest'); // {}

如果我只用 NodeJS 运行 console.log(require('gitlab')),我会得到正确的结果。

我应该如何从流星应用程序中导入“gitlab”?

【问题讨论】:

    标签: meteor gitlab


    【解决方案1】:

    我试图用一个干净的 Meteor 1.8.0.2 项目重现这个问题,它对我来说工作正常:

    /server/main.js:

    import Gitlab from 'gitlab'
    
    Meteor.startup(() => {
      console.log(Gitlab) // [Function: Bundle]
    
      const api = new Gitlab({
        url:   'http://example.com', // Defaults to https://gitlab.com
        token: 'abcdefghij123456'  // Can be created in your profile.
      })
    
      console.log(api) // full API as in documentation
    })
    

    那么你有什么选择呢?

    • 确保在服务器上使用gitlab
    • 检查node_modules文件夹,是否真的安装在那里。
    • 尝试使用meteor reset 重置您的项目,然后重新开始,以便所有node_modules 重新构建和所有Meteor 包都被重新构建,并且本地开发构建被重新构建。这通常会解决问题。
    • 创建一个新项目并开始逐步重现问题,从我的工作示例开始,逐步将文件结构更改为您的项目结构。

    【讨论】:

    • 重新启动服务器后,程序开始运行,这很奇怪,因为我很确定我之前已经重新启动过,但我可能弄错了。尽管如此,感谢您的提示,我会将您的答案标记为正确! :)
    猜你喜欢
    • 1970-01-01
    • 2020-05-12
    • 2017-02-26
    • 2015-08-03
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 2022-01-21
    • 2017-05-08
    相关资源
    最近更新 更多