1

我有一个简单的脚本来组合样式:

elixir(function(mix) {
    mix.styles([
        'bootstrap.min.css',
        'font-awesome.css',
        'animate.css',
        'style.css'
    ], "public/frontend/css");
});

我所有的 css 文件都在public/frontend/css目录中,我将styles函数的第二个参数设置为该基础,但如果我运行,gulp我得到:

[19:18:22] Starting 'default'...
[19:18:22] Starting 'styles'...
[19:18:22] Merging: resources/css/css/bootstrap.min.css,resources/css/public/frontend/css/font-awesome.css,resources/css/public/frontend/css/animate.css,resources/css/public/frontend/css/style.css
[19:18:22] Finished 'default' after 196 ms
[19:18:22] File not found: resources/css/css/bootstrap.min.css
[19:18:22] File not found: resources/css/public/frontend/css/font-awesome.css
[19:18:22] File not found: resources/css/public/frontend/css/animate.css
[19:18:22] File not found: resources/css/public/frontend/css/style.css
[19:18:22] Finished 'styles' after 206 ms

所以它将基目录设置为resources/css.

我该如何解决?

4

2 回答 2

3

编辑 我误读了这个问题。

mix.styles()(and )的第二个参数mix.scripts()指的是输出。但它需要第三个参数,引用基本路径,所以这是您应该更改的参数,如下所示:

elixir(function(mix) {
    mix.styles([
        'bootstrap.min.css',
        'font-awesome.css',
        'animate.css',
        'style.css'
    ], "path/to/output.css", "public/frontend/css");
});

如果需要,您可以更改配置中的基本路径,如上所述:


在项目的根目录下创建一个elixir.json文件,然后将以下内容放在上面:

{
    "assetsDir": "public/frontend/"
}

你应该很高兴。

只是为了提供更多信息,每当您需要覆盖默认配置时,请在此文件中进行。默认配置为:

var config = {
    production: !! util.env.production,
    srcDir: 'app',
    assetsDir: 'resources/assets/',
    cssOutput: 'public/css',
    jsOutput: 'public/js',
    sourcemaps: ! util.env.production,
    bowerDir: 'vendor/bower_components',
    tasks: [],
    watchers: { default: {} },
    duplicate: [],
    concatenate: { css: [], js: [] },
    compile: {}
};

node_modules/laravel-elixir/Config.js.

于 2015-04-08T17:27:23.643 回答
1

您应该将 传递custom base directory给第三个参数,而不是第二个。

合并自定义基础目录中的样式表(参考

elixir(function(mix) {
    mix.styles([
        "normalize.css",
        "main.css"
    ], 'public/build/css/everything.css', 'public/css');
});
于 2015-04-08T17:31:31.800 回答