如何在多页PHP应用程序中集成Webpack

时间:2017-11-03 10:05:59

标签: javascript php codeigniter webpack gulp

我正在使用一个旧的Codeigniter网站,其中Javascript代码库很乱,结构很差,我想使用Webback来管理脚本。我的目标是开始使用它来捆绑我所拥有的代码,并逐步重构它以利用模块和导入。

目前我正在开发中使用Gulp(但主要用于缩小文件)和Carabiner(Codeigniter库)以在视图中插入脚本。

这些脚本都是作为IIFE编写的,不是捆绑在一起的,因此在每个控制器函数中,我都有一个该页面所需的脚本数组。例如:

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

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

我在Webpack中看到的所有实际例子都适用于单页应用程序,它可以很容易地将所有内容捆绑在一起。

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

1 个答案:

答案 0 :(得分:1)

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

作为中间步骤,您可能希望使用某些加载程序(如Require.JS)来加载模块化代码。

在完成此步骤之前 - Webpack没有太多用处。