3

我阅读了可用于 Laravel 5 的新 Elixir 的文档。

我已经编写了这段代码并多次运行 gulp,但是,编译/缩小的 css 和 js 没有进来:

var elixir = require('laravel-elixir');

elixir(function(mix) {
    mix
    .styles([
        "resources/assets/components/bootstrap/dist/css/bootstrap.css"
    ])
    .scripts([
        "resources/assets/components/jquery/dist/jquery.js"
    ])
    .version('css/app.css');
});

我已经运行npm installgulp在 CLI 中得到了这个输出(这看起来很正常):

[05:15:58] Starting 'default'...
[05:15:58] Starting 'styles'...
[05:16:00] Finished 'default' after 1.32 s
[05:16:00] Finished 'styles' after 1.32 s
[05:16:00] Starting 'scripts'...
[05:16:00] Finished 'scripts' after 456 ms
[05:16:00] Starting 'version'...
[05:16:00] Finished 'version' after 2.6 ms
vagrant@homestead:~/Code/fixer$ 

这里有什么问题?我还观看了 Laracast,看来我一切都做得很好。

鉴于这是新的,很难找到一个好的答案。

4

3 回答 3

11

Elixir 将假定您连接的样式表和脚本位于 public/ 目录中。要覆盖它,请设置基本目录。

elixir(function(mix) {
    mix
        .styles([
            "components/bootstrap/dist/css/bootstrap.css"
        ], "resources/assets")
        .scripts([
            "components/jquery/dist/jquery.js"
        ], "resources/assets")
        .version('css/app.css');
});

(但也请记住,您正试图在每个块中连接一个文件......也许这只是为了您的代码片段。)

于 2014-10-23T17:43:24.623 回答
1

检查您的package.json文件 - 今天早上我一直在尝试为自己解决这个问题,结果发现 Elixir 目前有点问题。

我一直在尝试运行多个.scripts()函数(一个用于头部脚本,一个用于脚部脚本),直到我发现这篇文章说要更新到 Elixir 的 0.4.x 版之前,这些函数都不起作用。我这样做了,突然之间脚本似乎正在编译。

然后他们无缘无故地停止出现/public/js,降级到 0.3.* 让他们回来了。

package.json现在的样子是这样的:

{
    "devDependencies": {
        "gulp": "^3.8.9",
        "laravel-elixir": "^0.3.*"
    }
}
于 2014-10-23T12:34:38.420 回答
0

我也有同样的问题。刚刚开始调试,到目前为止,我可以说问题是由于从 elixir 传递给 gulp-less 的 src 变量不正确引起的:

[ 'undefined/resources/assets/less/site.less' ]

如您所见,它以“未定义”为前缀。

如果将正确的路径字符串传递给函数(在 GulpCssCompiler 中),那么它可以正常工作。

return gulp.src('resources/assets/less/site.less')
            .pipe(plugins[options.pluginName](options.pluginOptions))

我会再调查一下。

编辑:“GulpCssCompiler.js”文件中似乎有错误。简短的修复:在第 11 行替换:

    options.src, options.assetsDir, options.search

和:

    options.src, config.assetsDir, options.search

并在 gulpfile 中使用“less/file.less”(这假定资源/资产是 assetsdir)

于 2014-10-23T13:02:35.510 回答