gpt4 book ai didi

javascript - 如何访问包内的 meteor 包名称?

转载 作者:行者123 更新时间:2023-11-29 21:51:03 24 4
gpt4 key购买 nike

我正在创建一个包,并希望在包代码中动态使用包的名称(即用于登录我的/log.js 文件)。

如何访问在 package.js 中定义的变量?

Package.describe({
name: "author:packagename"
})

因为我不能确定包名是否改变了分离等,我不想对它们进行硬编码。

谢谢

最佳答案

这有点困难,因为打包系统不允许访问它。不过,您可以试一试。

使用 api.exports 创建一个公开可用的全局对象,例如 api.exports("some_global", ["server", "client"]) ;

包中的全局变量(可以是其他任何东西)。

some_global = {}

然后您可以运行它来查找包名称(确保它可以访问 some_global

getPackageName = function() {
for(var packageName in Package) {
if(Package[packageName] && Package[packageName].some_global === some_global) return packageName
}
}

Meteor.startup(function() {
console.log(getPackageName()) //=> Should give the package name
});

有点乱。 Meteor 删除了大部分内容,当它处于编译形式时,除了全局 Package 之外,这对解决这个问题没有帮助。对象删除不必要的代码。

我用 _ 进行了快速测试(用于下划线包):

getPackageName = function() {
for(var packageName in Package) {
if(Package[packageName] && Package[packageName]._ === _) return packageName
}
}

console.log(getPackageName) // => "underscore"

希望对您有所帮助!

关于javascript - 如何访问包内的 meteor 包名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29245709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com