Laravel 5 : Elixir. 如何从node_modules目录引用css文件

标签 laravel laravel-elixir

我正在使用通过 npm 导入的 css 文件。分别保存在我的“/node_modules”目录中。

我想用 elixir 与其他 scss 文件一起编译这个文件,并且正在寻找一种方法,如何正确包含它。

我可以做的选项是:

  1. 将文件从 file.css 重命名为 file.scss 并将其导入到我的 app.scss
  2. 将 file.css 文件复制到我的“resources/assets/”目录,将其重命名为 scss 并将其包含在我的 sass 编译中,如下所示:

现在我想知道,是否有一种方法可以从“node_modules”目录引用该文件,而不触及该文件,因为我希望其他人下载该项目并使用“composer install”和“npm install”启动并运行。

或者是处理此问题的最常见方法,只需将每个所需的文件从我的“node_modules”目录复制到我的资源/ Assets 文件夹?看起来很奇怪,因为 laravel 框架包含的引导文件是通过 app.scss 文件中的 scss 导入添加的。

现在我想要相同的,但是 scss 文件无法导入 css 文件,就我而言,这需要我重命名它,这在任何其他环境中都无法开箱即用,因为“node_modules”目录不包含在版本控制中。

关于在我的“node_modules”目录中编译 css 文件的最佳方法有什么建议吗?

最佳答案

如果你看Elixir documentation您会发现有许多方便的功能可以使用。其中之一是 mix.copy() 函数(您可以复制单个文件或整个目录,例如整个 jquery 文件夹)。

elixir(function(mix) {
    mix.copy('node_modules/blabla/file.scss', 'resources/assets/sass/file.scss');
    mix.sass(['file.scss', 'app.scss']);
});

这样,每次调用 gulp 时,它都会首先从 node_modules 目录复制 scss 文件,然后编译 sass。

关于Laravel 5 : Elixir. 如何从node_modules目录引用css文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31547729/

相关文章:

Laravel Elixir 和自动前缀器

php - 我如何在 create::in laravel 中获取最后一个插入 ID

javascript - 如果由于用户不存在而导致对 API 的后端 GET 请求失败,如何显示 404 页面?前后端分离

javascript - 如何仅在 spa 需要时才包含 vue 组件?

Laravel、elixir 和 gulp

javascript - Laravel Elixir 在更改时不合并样式表

javascript - 停止 Gulp 删除未使用的 Javascript 函数

php - Laravel API 路由在 Nginx 上获取 404

laravel - 如何使用 Laravel 在单个页面上对两个 Eloquent 集合进行分页?

php - 如何从 Builder 获取 Laravel Collection?