gpt4 book ai didi

javascript - 有条件地导入 npm 模块?

转载 作者:行者123 更新时间:2023-11-29 23:47:04 25 4
gpt4 key购买 nike

我的项目结构如下:

- workspace
- customPackage
- customIndex.js
- myProject
- index.js
- myProject2
- index.js

在开发中,我想从我的本地工作区导入包,如下所示:

//index.js
import something from '../customePackage/customIndex.js'

在生产环境中,我需要从 npm 模块导入,如下所示:

//index.js
import something from 'customPackage';

目的是能够使用包中的本地更改(无需经过提交周期)。最后经过测试,可以通过npm包正常推送和使用了。

如何以高效的方式做到这一点,而不必每次都更改代码?

最佳答案

您可以使用 Resolve#alias使用 Webpack:

resolve: {
alias: {
"customPackage": process.env.NODE_ENV === "production" ?
"customPackage" :
path.resolve(__dirname, "../customePackage/customIndex.js")
}
}

那么在你的源码中,你只需要做:

import something from 'customPackage';

它会指向正确的包。显然,您需要设置 NODE_ENV 环境变量,或根据您的构建环境更改它。

关于javascript - 有条件地导入 npm 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629110/

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