我正在开发一个NPM软件包,当使用yarn链接将其链接到测试仓库时,导入需要在软件包名称后附加/src
。
.babelrc
{
"presets": [
[
"env",
{
"modules": false
}
]
],
"env": {
"test": {
"presets": [
["env", {
"targets": { "node": true }
}]
]
}
}
}
打包json主程序:"main": "dist/main.js",
Webpack配置(使用Webpack 4):
module.exports = {
entry: {
main: './src/index.js'
},
module: {
rules: [
{
test: /\.js$/,
use: {
loader: 'babel-loader',
},
exclude: /node_modules/
},
{
test: /\.json$/,
use: {
loader: 'json-loader'
},
exclude: /node_modules/
}
]
},
}
src / index.js
export default () => { ... }
为清楚起见,这在测试仓库中可以正常工作:
import myDefaultFunction from 'package-name/src'
但这不是(这是我要工作的 :
import myDefaultFunction from 'package-name'
答案 0 :(得分:0)
在模块package.json
中分配webpack.config
主要
主要字段是模块ID,是您的主要入口点 程序。也就是说,如果您的软件包名为foo,并且有用户安装 它,然后确实require(“ foo”),然后主模块的导出 对象将被返回。
这应该是相对于包根目录的模块ID 文件夹。
对于大多数模块,拥有主脚本和 通常不会太多。
如果要在开发过程中转换模块,则应将模块包含在{{1}} babel-loader选项中