在我的[['a'],['b'],['c'],['a','b'],['b','c'],['c','a'],['a','b'],['a','b','c'],['b','c','a'],['c','a','b'],['a','b','c','a'],['b','c','a','b'],['a','b','c','a','b']]
中,有package.json
个"main": "./dist/"
的解决方法。但是在dist文件夹中,我有名为index.js
,string.js
,class.js
的单个文件,我打算将它们导入为
dom.js
,但现在我必须将其导入为import { isValidZipCode } from '@scope/utils/string';
从import { isValidZipCode } from '@scope/utils/dist/string';
导入模块时,是否可以解析文件夹?
编辑:主要思想是当我保留单个文件进行单个导出时,将文件导入为node_modules
。
答案 0 :(得分:0)
在index
文件夹中创建一个root
文件,然后像这样导出所有文件
export { default as Str } from "./dist/string";
export { default as Cls } from "./dist/class";
export { default as Dom } from "./dist/dom";
,还将package.json
从main
的{{1}}更新为./dis/
希望这会对您有所帮助。编码愉快。
答案 1 :(得分:0)
您需要做的就是在根文件夹中创建一个索引文件,然后使用以下命令导出所有文件:
在您的<httpRuntime targetFramework="4.5" />
中,导出其上的每个方法/函数,并对其进行索引:
dist/string
因为它有助于维护代码并看上去更简洁
此致:)
答案 2 :(得分:0)
其他答案大部分是正确的,但我认为缺少一件事(无论是从您的 OG 帖子还是从他们的答案中),那就是:
package.json
和 webpack.config.js
文件内容,即使您的文件结构如此奇怪,这些内容也是回答问题的关键。一些建议:
将您的文件夹结构更改为类似于
/
|--src
|--utils
|--string.js
|--[... other js files]
|--index.js
|--dist (will be generated automatically)
|--[config files, like package.json, webpack.config.js, etc]
使您的 webpack.config.js 具有以下内容:
output: {
path: path.resolve(__dirname, 'dist'),
//...
}
plugins: [
new CopyWebpackPlugin({
patterns: [
'ReadMe.md', // optional
'package.json',
'LICENSE.md' // optional
]
})
],
为了修复/标准化输出(例如输出将是 /dist/utils/[string.js, ...], /dist/package.json
)。
然后,让你的 package.json main 像
"main": "utils/string.js"
这样做之后,你的输出应该看起来像
/
|--src
|--utils
|--string.js
|--[... other js files]
|--index.js
|--dist
|--utils
|--string.js
|--[... other js files]
|--index.js // optional: only if you want to support stuff like
// `import { isValidZip } from '@scope/utils';`
|--package.json
|--[config files, like package.json, webpack.config.js, etc]
最后,您需要 cd dist
并从里面运行 npm publish
。 (这就是为什么您需要该目录中的 package.json。)
我无法详细介绍 @scope
部分,因为我自己还没有这样做过,但我为自己的一个项目执行了上述操作,并且按预期工作。