我正在一个旧的Codeigniter网站上工作,该网站的Javascript代码库凌乱且结构不佳,我想使用Webback来管理脚本。我的目标是开始使用它按原样 bundle 代码,然后逐步重构它以使用模块和导入。

目前,我正在开发中使用Gulp(但主要是为了缩小文件),并使用Carabiner(Codeigniter库)在 View 中插入脚本。

这些脚本都是作为IIFE编写的,因此没有 bundle 在一起,因此在每个 Controller 功能中,都有该页面所需的一系列脚本。例如:

public function homepage()
{
    $this->carabiner->js([
        ['libraryThatIOnlyNeedHere.min.js'],
        ['myscript1.js'],
        ['myscript2.js'],
        ['myscript3.js'],
    ]);

我想使用Webpack创建一系列 bundle 软件,以便最终在每个页面上加载最多两个文件:一个用于库,一个用于我的脚本。

不过,我在Webpack上看到的所有实际示例都是针对单页应用程序的,将所有内容 bundle 在一起很容易。

在我的情况下,最好的方法是什么?考虑到代码仍未准备好正确使用模块和导入,我是否应该在Webpack配置文件中创建许多入口点,可能每个页面一个,并列出该页面所需的每个脚本?

最佳答案

webpack的主要思想是从提供的源中构建模块图,然后将其组合成束。如果您的代码没有显式的依赖关系-最好使用任何可用的方法(AMD,CommonJS等)从每个文件创建一个模块开始。您将需要创建模块标识符并为每个模块定义依赖项。例如,可能值得阅读this article

作为中间步骤,您可能需要使用诸如Require.JS之类的加载器来加载模块化代码。

在完成此步骤之前-Webpack的使用并不多。

09-30 16:23
查看更多