Javascript 告诉网页“导入”的方法;someFile.js“`指“进口”;someFile.ts“`?
有没有办法告诉Webpack,每当我有类似Javascript 告诉网页“导入”的方法;someFile.js“`指“进口”;someFile.ts“`?,javascript,webpack,Javascript,Webpack,有没有办法告诉Webpack,每当我有类似 导入“someFile.js” 当作 导入“someFile.ts” ? 我想编写导入“anyFile.js”并让它导入anyFile.ts 在Webpack尝试解析模块之前,是否有方法告诉它将一个扩展名视为其他扩展名(或没有扩展名)?我不知道有什么本机Webpack函数提供此功能,但您可以自己编写加载程序,并通过RegEx交换文件结尾。但我更想知道为什么要使用文件结尾?你不能把文件的结尾留着吗?我的意思是webpack还可以自动解析文件结尾,因此
导入“someFile.js”
当作
导入“someFile.ts”
?
我想编写导入“anyFile.js”
并让它导入anyFile.ts
在Webpack尝试解析模块之前,是否有方法告诉它将一个扩展名视为其他扩展名(或没有扩展名)?我不知道有什么本机Webpack函数提供此功能,但您可以自己编写加载程序,并通过RegEx交换文件结尾。但我更想知道为什么要使用文件结尾?你不能把文件的结尾留着吗?我的意思是webpack还可以自动解析文件结尾,因此您可以编写
导入“anyFile”
为什么需要这个?我认为其他维护人员不会清楚这种行为。@funnydman我想找到一个在电子、普通浏览器和网页包中工作的解决方案。基本上,为了使TypeScript输出在本机ES模块中工作,他们建议将.js
放在TS源代码中所有模块标识符的末尾,这并不理想(TypeScript问题:)。但当我们这样做时,Webpack无法找到导入。Electron还没有本机模块,因此运行在ts节点
上的karma Electron测试无法使用.js
扩展名(ts节点问题:)@Dustingoll本机ES模块需要开箱即用的扩展名(例如,从基本静态文件服务器提供时),除非您的服务器处理的扩展名较少的文件。TypeScript支持import语句中的.js
扩展,并要求这些扩展出现在输出中。因此,在使用tsc
时,这非常有效。但当与Webpack绑定时,它失败了。见:和。这是一个不幸的问题。@trusktr当然,本机模块导入需要一个文件结尾。但是当与webpack绑定时,这些不是本机模块,webpack实际上使用默认解析的路径,因此可以处理没有指定文件扩展名的导入。