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

标签 javascript php codeigniter webpack gulp

我在一个旧的 Codeigniter 网站上工作,那里的 Javascript 代码库杂乱无章且结构不佳,我想使用 Webback 来管理脚本。我的目标是开始使用它来捆绑我现有的代码,并逐渐重构它以使用模块和导入。

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

所有编写为 IIFE 的脚本都没有捆绑,因此在每个 Controller 函数中,我都有一个该页面所需脚本的数组。例如:

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

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

不过,我见过的所有 Webpack 实用示例都是针对单页应用程序的,在这种应用程序中,很容易将所有内容捆绑在一起。

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

最佳答案

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

作为中间步骤,您可能需要使用一些加载程序,例如 Require.JS加载您的模块化代码。

到此为止——Webpack的用处不大。

关于javascript - 如何在多页面 PHP 应用程序中集成 Webpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47093064/

相关文章:

php - 找不到 Laravel 5.1 嵌套 Controller 类

php - 为 Codeigniter 中的 foreach() 提供的参数无效

php - 如何保留 PHP 5.5 但使用 5.4(CodeIgniter 已弃用)

php - 在 CodeIgniter 中确认密码

javascript - 始终以高清格式播放 YouTube 视频 : Doesn't work on IE

javascript - $ionicScrollDelegate.scrollTop() 不允许我在向下滚动列表后手动向上滚动

JavaScript:错误 - 变量已经定义?为什么?

javascript - execCommand ("BackColor",false ,"#000000") 导致我的整个可编辑 Iframe 的背景颜色发生变化!

php - Firefox 浏览器的 Twitter Bootstrap 中不显示下拉箭头

php - 如何设计引用多个表的灵活 MySQL 通知架构?