如何在 laravel 应用程序中使用 npm 安装包?
Posted
技术标签:
【中文标题】如何在 laravel 应用程序中使用 npm 安装包?【英文标题】:How to use npm installed package in laravel application? 【发布时间】:2019-02-23 10:49:44 【问题描述】:我想在我的 laravel 5 应用程序中使用 select2 包。
我使用npm install select2
安装了它,还运行了npm run dev
。它出现在我的 node_modules 文件夹中。
但我如何实际引用我的app.blade.php
中的 select2 包的 js 和 scss 文件?
【问题讨论】:
1.你都尝试了些什么? 2.您是否寻找过解决方案? 【参考方案1】:运行 npm run watch
,因为跟踪 .js
中的所有更改。
在 app.js 中添加
require('select2/dist/js/select2');
在 app.blade.php 示例中:
<div>
<select class="js-select2 css-select2-50">
<option>1</option>
</select>
</div>
【讨论】:
是的,虽然npm run watch
,只是将您的更新保存在app.js
会自动重新编译app.js 以添加模块。
男人!感谢您提供此解决方案。我已经在这几个小时了。 YouTube,谷歌没有人一步一步地显示说明。再次感谢!
这个线程很旧,但更多的细节会很有帮助。我通过 npm 安装了 tablesorter,虽然我确实在我的 node_modules
文件夹中看到了它,并将 require('tablesorter/dist/js/jquery.tablesorter.combined.min.js');
添加到 app.js 文件中,但我不明白我应该如何将脚本文件导入我的 html。 【参考方案2】:
我建议对此线程进行回答,因为它没有标记为已解决,并且尽管给出了答案,但在阅读本文时它不允许我解决问题。
资源
select2.org npm我已经找到了一个功能解决方案,这里是与 OP 问题相关的详细信息。已验证并使用 Laravel 8
通过 npm 安装包
npm install select2
编辑 /resources/js/app.js
以从包中导入 javascript
require('./bootstrap');
/* ... */
require('select2'); // Add this
/* ... */
Alpine.start();
编辑 /resources/css/app.css
以从包中导入样式
/* ... */
@import 'select2'; // Add this
编辑/resources/js/bootstrap.js
以启用.select2();
window._ = require('lodash');
/* ... */
window.select2 = require('select2'); // Add this
运行 NPM
npm run dev
npm run watch
NPM 结果在我的情况下
Laravel Mix v6.0.39 ✔ 2982ms编译成功
√ Mix:3.05s编译成功 webpack 编译成功
测试
根据configuration documentation
HTML
<input type="text" class="form-control js-example-basic-single">
JS
<script type="text/javascript">
$(document).ready(function ()
$('.js-example-basic-single').select2(
placeholder: 'Select2 testing purpose'
);
);
</script>
渲染
【讨论】:
这应该是公认的答案。以上是关于如何在 laravel 应用程序中使用 npm 安装包?的主要内容,如果未能解决你的问题,请参考以下文章
在 laravel 7 中安装 npm 后如何使用 nouislider
混合 vue-template-compiler 必须安装为 laravel 项目中的对等依赖项
在 Laravel 应用程序上使用 npm 安装的 JS/CSS 库