[英]Trying to make an NPM package
基本上,我試圖在我的主項目文件中制作一個看起來像這樣的 package
const package = require("package");
const newPackage = new package({
param: 'value',
otherParam: 'otherValue'
});
然后在我可以使用的所有其他項目文件中
const { someFunction } = require('package')
someFunction()
然后SomeFunction()
function 應該返回value
和otherValue
而不需要做
const package = require("package");
const newPackage = new package({
param: 'value',
otherParam: 'otherValue'
});
newPackage.someFunction()
在每個項目文件中。
我不確定如何做到這一點,或者這是否可能,但我會喜歡類似(或類似)這樣的東西。
雖然可以做到這一點,但它會涉及一些非常臭的代碼 - package 必須調用構造函數產生副作用並返回一個未使用的實例。 對於非常細微的調整,請考慮是否可以更改初始化代碼
const package = require("package");
const newPackage = new package({
param: 'value',
otherParam: 'otherValue'
});
類似於
const { init } = require("package");
init({
param: 'value',
otherParam: 'otherValue'
});
那將是非常可行的,而且不臭。 將一個變量放入包的 scope 中,在調用init
時分配給該變量,並在調用someFunction
時返回該變量。
let initObj;
module.exports = {
init(obj) {
initObj = obj;
},
someFunction() {
return initObj;
}
};
實時片段:
const theModule = (() => { let initObj; return { init(obj) { initObj = obj; }, someFunction() { return initObj; } } })(); theModule.init({ param: 'value', otherParam: 'otherValue' }); console.log(theModule.someFunction());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.