【问题标题】:How to add Javascript dependencies and CSS files in Laravel correctly如何在 Laravel 中正确添加 Javascript 依赖项和 CSS 文件
【发布时间】:2020-05-16 13:03:23
【问题描述】:

我正在使用 Laravel 7 构建我的一个应用程序。我有以下 Javascript 依赖项。

  1. 引导程序
  2. 数据表
  3. jQuery
  4. 选择 2
  5. 吐司
  6. D3

现在我正在使用新的laravel/ui 包并构建了一个基于 Bootstrap 的应用程序。它使用 Laravel Mix 并编译了 app.cssapp.js 文件。 app.js 的代码如下:

require('./bootstrap');

引导文件有以下代码:

window._ = require('lodash');

try {
    window.Popper = require('popper.js').default;
    window.$ = window.jQuery = require('jquery');

    require('bootstrap');
} catch (e) {}


window.axios = require('axios');

window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

我认为在这个文件中我们需要添加其他依赖项。在文档中还说要在此处添加 Javascript 依赖项。我对如何将DataTables 和其他上述依赖项添加到文件中感到困惑。我需要在 require 中使用哪些包名称?

此外,这些软件包中的大多数也有自己的 CSS 文件。如何为 bootstrap.js 等文件中的所有依赖项添加 CSS 文件?目前所有的 CSS 文件都导入到应用布局刀片模板中。如果有人可以添加教程链接,那也很棒。

【问题讨论】:

  • 好吧,如果您在package.json 内部看到,那么bootstrap.js 文件中包含所有依赖项。所以你可以使用 npm 安装像 Datatable or select2 etc... 这样的依赖项,然后你可以将它包含在 bootstrap.js

标签: javascript php laravel laravel-mix laravel-7


【解决方案1】:

为了在你的 laravel 项目上安装 JavaScript 包,你 cad 这样做, 示例数据表:

  1. 安装 npm 包

    npm install --save datatables.net-bs4

  2. 包含在 包含在resources/js/bootstrap.js

require('datatables.net-bs4');

  1. 包含在resources/sass/app.scss

@import '~datatables.net-bs4/css/dataTables.bootstrap4.css';

  1. 在终端运行npm run dev 编译必要的文件

最后创建一个 js 文件并将其包含在您的 bootstrap.js 文件中并使用包

<script>
$(document).ready(function () {
  $('table').DataTable();
});
 </script>

别忘了检查你的 webpack.mix.js 文件

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

mix.js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.scss', 'public/css');

并在模板中包含编译好的 js 和 css 文件

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

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

希望能帮助到你 对不起我的英语不好

【讨论】:

  • 完美。这正是我需要的。现在,如果您可以建议我如何将页面明智的 JS 也包含在内,那就太好了。我只需要在列表页面中初始化数据表,而不是在加载页面中。我怎样才能有效地做到这一点?
  • @HappyCoder 谢谢,我不知道,但你可以看看sitepoint.com/use-laravel-mix-non-laravel-projectsgithub.com/JeffreyWay/laravel-mix/tree/master/docs 也许你可以找到你的问题的解决方案
  • 其实它只适用于 Laravel 项目。我在视图文件中有一些 Javascript,例如用于加载一些下拉列表的 Ajax 请求等。我现在正在做的是将这些文件专门添加到混合配置中,并使用&lt;script&gt; 将其包含在页面中。非常感谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-10
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多