我创建了一个NPM软件包,该软件包使用Webpack和Babel进行转码/捆绑。
在我的package.json
中,我的主要设置为"main": "build/index.js"
。在我的Webpack配置中,我将条目设置为entry: { app: './src/index.js' }
。我的输入文件如下所示。
安装该软件包后,一切正常。但是,使用此设置,每个帮助程序都会公开两个导入路径:
这对于支持自动导入的编辑器来说是个问题,因为它们有时会从'my-package/build/utils/helper1'
而不是从'my-package'
的首选路径中自动导入。
所以,有两个问题:
条目文件:
import helper1 from './utils/helper1';
import helper2 from './utils/helper2';
export {
helper1,
helper2,
};
const myPackage = {
helper1,
helper2,
};
export default myPackage;
答案 0 :(得分:0)
我建议您将helper1
和helper2
合并到一个文件中,并将其命名为helpers
,然后将它们放在class
myPackage
中,这样然后将它们导出为这样的模块
import myPackage from './utils/helper';
// OR import {helper1, helper2} from './utils/helpers';
export default class myPackage {
helper1,
helper2,
};
OR
import {myPackage} from './utils/helpers';
// OR import {helper1, helper2} from './utils/helpers';
module.exports.myPackage = (helper1, helper2) => {
this.helper1 = helper1;
this.helper2 = helper2;
};
我希望这会有所帮助。
答案 1 :(得分:0)
export {
helper1,
helper2,
};
最近,我发现我们可以使用Object.freeze()
进行导出。这是一个不错的article。