【发布时间】:2021-06-02 18:31:35
【问题描述】:
我正在使用 mobiscroll javascript 组件库和我正在构建的新 Laravel 8 应用程序。我使用了试用脚本,只需将缩小后的 css / js 复制到我的 laravel 应用程序的 public/css 和 public/js 目录,然后将脚本 / css 文件推送到布局的 stack 中。
我希望能够通过 npm 安装模块并引用模块来更“本机”地要求这些。在一个反应应用程序中,我对此没有任何问题——但它是如何在 laravel 中完成的?
我尝试将window.mobiscroll = require('@mobiscroll/javascript'); 添加到bootstrap.js 文件中,因为这似乎是axios 和_ 库的可用方式,但是当我尝试时我仍然收到Uncaught ReferenceError: mobiscroll is not defined 错误初始化一个组件。
我也尝试将其添加到 app.js 文件中,如下所示:
require('alpinejs');
require('@mobiscroll/javascript');
与以前相同的错误。我正在运行npm run watch,所以mix 进程正在发生并且每次尝试都会成功,所以我认为这不仅仅是缓存或编译的问题。
我在 SO 或 laravel 文档中没有看到任何似乎解决此问题的内容。
编辑:与dayjs 有同样的问题,通过npm i dayjs 添加,使用window.dayjs = require('dayjs'); 添加到bootstrap.js,通过混合编译,清除所有缓存,仍然出现错误dayjs is not defined。
【问题讨论】:
-
您需要在概念上区分节点使用的库和打包的库,以便将它们用作前端的静态数据。似乎您需要这些库,以便您的项目认为它们仅适用于节点构建过程,而不适用于客户端。您需要查看如何打包第三方依赖项。
-
laravel.com/docs/5.5/mix#vanilla-js。你会调用
mix方法吗?
标签: javascript laravel npm laravel-8