Webpack 从/folder/folder.js而不是/folder/index.js导入网页包

Webpack 从/folder/folder.js而不是/folder/index.js导入网页包,webpack,visual-studio-code,Webpack,Visual Studio Code,当我在./blah/中创建index.js时,使用webpack,然后从./blah'导入blah。它成功地从index.js获取 然而,我的代码编辑器现在充满了名为index.js的选项卡。现在,按Ctrl+Shift+P组合键进行查找会得到一堆index.js 因此我一直在做name index.js,它和文件夹名是一样的。所以/folder/folder.js。但是,如果我这样做,我的所有导入语句现在都是: import blah from './blah/blah` 现在我只需输入一个

当我在./blah/中创建index.js时,使用webpack,然后从./blah'导入blah。它成功地从index.js获取

然而,我的代码编辑器现在充满了名为index.js的选项卡。现在,按Ctrl+Shift+P组合键进行查找会得到一堆index.js

因此我一直在做name index.js,它和文件夹名是一样的。所以
/folder/folder.js
。但是,如果我这样做,我的所有导入语句现在都是:

import blah from './blah/blah`

现在我只需输入一个额外的
/blah
,就不会太冗长了。但我只是想知道,有没有可能让它将js文件与文件夹的名称相同,因为它将索引.js?

Github用户shaketbaby已经做了一个测试,可以按照问题要求的方式处理导入

首先将以下内容添加到您的网页配置中:

const DirectoryNamedPlugin = require("directory-named-webpack-plugin");

const config = {
  ...
  resolve: {
    ...
    plugins: [
      new DirectoryNamedPlugin(true)
    ]
  },
  ...
}
export default config
然后您可以使用
import blah from./blah'
解析位于
/blah/blah.js
的文件

如果第一个参数为
true
,解析程序将返回到以前的行为
blah/index.js
在无法找到
blah/blah.js
的情况下。

解决此问题的另一个解决方案是在每个文件夹内创建一个
包.json
,如下所示:

{
   "main":"blah.js"
}
另一种选择:

在文件夹
文件夹/
中,创建以下文件
index.js

import folder from './folder.js';
export default folder;

我认为这是不可能的。请看
node.js
模块
。啊好的,谢谢@wuxindiejia有趣的分享!这是更好的,因为它不依赖于其他依赖项,而是接受这个依赖项。这应该是公认的答案。上面的其他答案表明映射是不可能的——这是不真实的,这篇文章清楚地表明了这一点。还有一些相关的软件包可以通过
jest
babel
解决方案来实现这一点。您可以这样做:
export{default}from./folder'