保留Webpack中模块的顺序

3
import('./A');
import('./B');
import('./C');
export class Person {};

A, BC是纯JS(es5)库,使用全局的window对象并相互依赖。

从输出文件中可以看到,Webpack(awesome-typescript-loader)会改变模块的顺序,从而导致问题。

如何确保它们以完全相同的顺序包含在输出文件中?


这个有帮助吗?https://dev59.com/f1gQ5IYBdhLWcg3wSyEO - Halcyon
顺序似乎在script-loader中是正确的,但现在我在运行时得到了[Script Loader] ReferenceError: require is not defined - Petro Karpiuk
1个回答

0

正确的答案可能是将您的文件转换为 TypeScript,但这个答案假设您有时间完全将现有的 JS 文件转换为 TS。 如果由于某种原因您没有时间这样做,它们仍应作为部分转换的 TS 文件工作,您只需要采取一些转换快捷方式。

我只建议在现有已知良好的工作 JS 文件上进行此操作,而且只有在您无法花时间进行转换时才建议这样做,这就是为什么我假定您在提问的原因。

将您的 JavaScript *.js 文件内容复制到新的 TypeScript *.ts 文件中。 解决所有的代码检查问题(您可以在 JS 代码的灵活性方面出错) 例如使用

// @ts-ignore

只在必要时使用“any”类型

在新的ts文件中导出其他文件中使用的内容,例如:

export {varible}

通过依赖文件导入那些东西,即:

import {varible} from "./variableFile"

这应该解决您的导入顺序问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接