从 MeteorJS returns 空对象导入 "gitlab" 包
Importing "gitlab" package from MeteorJS returns empty object
我在我的 Meteor 项目中安装了 gitlab meteor npm install --save 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'); // {}
如果我 运行 只是 console.log(require('gitlab'))
使用 NodeJS,我会得到正确的结果。
我应该如何从 meteor 应用程序导入 'gitlab'?
我尝试使用干净的 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 包都会重建,本地开发构建也会重建。这通常会解决问题。
- 创建一个新项目并开始逐步重现问题,从我的工作示例开始,逐步将文件结构更改为您项目的结构。
我在我的 Meteor 项目中安装了 gitlab meteor npm install --save 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'); // {}
如果我 运行 只是 console.log(require('gitlab'))
使用 NodeJS,我会得到正确的结果。
我应该如何从 meteor 应用程序导入 'gitlab'?
我尝试使用干净的 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 包都会重建,本地开发构建也会重建。这通常会解决问题。 - 创建一个新项目并开始逐步重现问题,从我的工作示例开始,逐步将文件结构更改为您项目的结构。