【问题标题】:How to include script located in node_modules folder using codeigniter 4?如何使用 codeigniter 4 包含位于 node_modules 文件夹中的脚本?
【发布时间】:2021-05-20 08:45:13
【问题描述】:

我需要在我的应用程序上安装this plugin,所以我按照说明执行了:

npm install --save @ckeditor/ckeditor5-upload

通常,为了加载插件,我会在 load 目录中创建一个包含插件名称的文件,特别是:

Views
    load
        ckeditor.php

其中包含:

<!-- Push section js -->
<?= $this->section('js') ?>
<script src="https://cdn.ckeditor.com/ckeditor5/27.1.0/classic/ckeditor.js"></script>
<script src="https://cdn.ckeditor.com/ckeditor5/27.1.0/classic/translations/it.js"></script>
<?= $this->endSection() ?>

所以要包含在我的应用程序的特定部分中,我只需这样做:

<?= $this->include('App\Views\Backend\load\ckeditor') ?>

这会将插件注入我的应用程序,但是如何使用通过 npm 安装的本地依赖项来执行此操作?

【问题讨论】:

    标签: javascript php node-modules codeigniter-4


    【解决方案1】:

    NPM(节点包管理器)包用于在node.js 上运行的应用程序。由于您的应用在后端使用 PHP,因此不适合导入后端 JS 包。

    一般来说,你不能在前端使用后端JS包,因为它通常包含浏览器JS中不可用的代码(例如访问本地文件)。

    你需要找到一些其他的包做类似的事情,但要结合 PHP 和浏览器 JS。


    注意:配置您的 HTTP 服务器(通常是 Apache 或 Nginx)以发布 node_modules 并从前端链接 NPM 包的(公共 URL)是一种不好的做法。另外,这个特定的包无论如何都不会工作,因为它使用了浏览器 JS 中不可用的功能。

    【讨论】:

      【解决方案2】:

      看起来您想在客户端使用 NPM 模块,实际上您可以这样做。查看 Browserify: https://browserify.org/

      它允许您将 NPM 模块的所有依赖项捆绑到可以交付给客户端的 JS 代码中,从而允许您在客户端 Javascript 中将这些 NPM 模块用作“本机”函数。

      【讨论】:

        【解决方案3】:

        为了在您的 PHP 应用程序中使用 CKEditor,最简单的方法是使用 CKEditor 在线构建器工具并下载 CKEditor 代码的编译版本,并将其放置在您的 PHP 应用程序中。 访问:CKEditor online build

        按照以下步骤操作:

        1. 访问CKEditor Online Build Tool的上述链接。
        2. 选择 Choose editor type 作为您想要的编辑器。
        3. 在编辑器中选择所需的plugin
        4. 在下一节拖放和customize your editor layout
        5. 最后选择语言和download zip 文件。
        6. 提取它并将其放在应用程序的public folder 例如。 public/ckeditor5
        7. 现在导航到下载的文件夹并打开下面的index.html 示例文件夹 (public/ckeditor5/sample/index.html)
        8. 复制最后两个scripts 并将它们放在您的工作文件中 想用CKEditor。不要忘记修改的相对路径 你的 ../build/ckeditor.js 文件。

        【讨论】:

          猜你喜欢
          • 2015-02-12
          • 2017-12-15
          • 1970-01-01
          • 2016-08-22
          • 1970-01-01
          • 2014-08-24
          • 2014-11-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多