Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向Laravel 8添加NPM javascript库_Javascript_Laravel_Npm_Laravel 8 - Fatal编程技术网

向Laravel 8添加NPM javascript库

向Laravel 8添加NPM javascript库,javascript,laravel,npm,laravel-8,Javascript,Laravel,Npm,Laravel 8,我正在将javascript组件库与我正在构建的新Laravel8应用程序一起使用。我使用了试用脚本,只需将缩小的css/js复制到我的laravel应用程序的public/css和public/js目录,然后将脚本/css文件推到布局的堆栈中 我希望通过npm安装模块并引用模块,能够更“本地”地要求这些。在react应用程序中,我对此没有问题——但在laravel中是如何实现的 我尝试添加window.mobiscroll=require('@mobiscroll/javascript')到b

我正在将javascript组件库与我正在构建的新Laravel8应用程序一起使用。我使用了试用脚本,只需将缩小的css/js复制到我的laravel应用程序的
public/css
public/js
目录,然后将脚本/css文件推到布局的
堆栈中

我希望通过npm安装模块并引用模块,能够更“本地”地要求这些。在react应用程序中,我对此没有问题——但在laravel中是如何实现的

我尝试添加
window.mobiscroll=require('@mobiscroll/javascript')
bootstrap.js
文件,因为这似乎是
axios
库可用的方式,但我仍然得到
未捕获的引用错误:当我尝试初始化组件时,没有定义mobiscroll
错误

我还尝试将其添加到
app.js
文件中,如下所示:

require('alpinejs');
require('@mobiscroll/javascript');
和以前一样的错误。我正在运行
npm run watch
,因此
mix
过程正在发生,并且每次尝试都会成功,所以我不认为这只是缓存或编译的问题

在SO或laravel docs上,我没有看到任何能解决这个问题的东西


编辑:与
dayjs
有相同的问题,通过
npm i dayjs
添加,使用
window.dayjs=require('dayjs')添加到
bootstrap.js
,通过mix编译,清除了所有缓存,但仍然出现错误
dayjs未定义

首先,在根Laravel文件夹中安装Mobiscroll

npm install @mobiscroll/javascript-lite --save-dev
然后,您希望在适当的位置引用JS和CSS

在参考资料/js/bootstrap.js中

try {
    window.mobiscroll = require('@mobiscroll/javascript-lite');

    require('bootstrap');
} catch (e) {
}
在参考资料/css/app.css中

@import '~@mobiscroll/javascript-lite/dist/css/mobiscroll.css';
如果你的webpack.mix.js是这样的

const mix = require('laravel-mix');

mix.js('resources/js/app.js', 'public/js')
    .postCss('resources/css/app.css', 'public/css', [
        //
    ]);
执行
npm运行prod

确保在刀片模板/布局中引用生成的CSS文件

<link type="text/css" rel="stylesheet" href="{{ mix('css/app.css') }}">

另外,对于JS

<script src="{{ mix('js/app.js') }}" defer></script>


您需要从概念上区分节点使用的库和打包的库,以便它们作为前端的静态库。看起来您需要这些LIB,这样您的项目就认为它们只用于构建过程中的节点,而不用于客户端。您需要查看如何打包第三方依赖项。。您是否调用
mix
方法?感谢您@karl hill提供的解释和信息!