小编rye*_*lar的帖子

与lodash深度比较的对象数组

我有两个与我深深比较的对象阵列 lodash

但是,我有一个问题:

> var x = [{a:1, b:2}, {c:3, d:4}];
> var y = [{b:2, a:1}, {d:4, c:3}];
> _.difference(x,y, _.isEqual);
[ { a: 1, b: 2 }, { c: 3, d: 4 } ]
Run Code Online (Sandbox Code Playgroud)

我应该如何比较看两者是否相等?

javascript arrays javascript-objects lodash

14
推荐指数
3
解决办法
2万
查看次数

Angular JS | 什么传递ng-click三元运算符什么都不做

我正在尝试使用三元运算符(?:)启用基于条件的ng-click

ng-click="hasPermission?Update():...."

在三元运算符的最后一个参数中,我可以通过什么,以便不会发生任何事情.

另外,我不想在我的JS中创建任何虚函数或者将任何不相关的条件写为1 = 1

javascript angularjs

13
推荐指数
3
解决办法
9149
查看次数

Yeoman Angular Generator Grunt构建脚本/ vendor.js为空

我已经生成了一个角度项目yo angular [project-name],尝试通过它构建它grunt build.我检查了dist/scripts/vendor.d41d8cd9.js文件,我看到它是空的.我发现了这个问题,它根本没有帮助我.如果有人能指出我正确的方向,我将不胜感激.

javascript angularjs yeoman yeoman-generator-angular

6
推荐指数
1
解决办法
2986
查看次数

Shell globbing排除目录模式

忽略可以与shell globs关联使用的命令,我想完成从glob模式中排除所有目录和子目录中的特定目录模式.

假设我有这个目录结构:

+-- a
    +-- a1
         +-- assets
                  +-- a1-1
                         +-- a1-1.js
                  +-- a1-2
                         +-- a1-2.js
    +-- a2
         +-- a2.js
+-- b
    +-- b1
         +-- b1-2
                +-- b1-2-3
                         +-- assets
                                  +-- b1-2-3.js
    +-- b.js
+-- c
    +-- c.js
Run Code Online (Sandbox Code Playgroud)

我想列出assets其文件路径中没有的所有js文件.

到目前为止我尝试过的:

$ shopt -s globstar extglob
$ ls ./**/!(assets)/**/*.js
Run Code Online (Sandbox Code Playgroud)

上述模式不仅实现了它的目标,甚至还显示了重复的输出.我知道我可以这样做:

$ ls ./**/*.js | grep -v "assets"
Run Code Online (Sandbox Code Playgroud)

或者任何其他可以管道的命令,我只想要一个纯粹的shell glob模式.

预期产出:

a/a2/a2.js  
b/b.js  
c/c.js
Run Code Online (Sandbox Code Playgroud)

bash shell glob

6
推荐指数
1
解决办法
2188
查看次数

gulp-rev-replace不会更改master.blade.php中的修订文件名

我一直在尝试在Laravel项目中使用gulp创建一个构建系统,现在唯一的问题就是在我的master.blade.php文件中重命名正确的文件名.就像现在一样,它只跟随gulp-useref参数中提供的文件名,但修改过的文件gulp-rev不会被替换gulp-rev-replace.

这是我的gulp任务:

gulp.task('build', ['clean', 'scss', 'js', 'master'], function() {

    var assets,
        jsFilter        = $.filter('**/*.js'),
        cssFilter       = $.filter('**/*.css');

    return gulp.src('app/views/layouts/master.blade.php')
        .pipe(assets = $.useref.assets({searchPath: '/'}))

        .pipe(jsFilter)
        .pipe($.uglify())
        .pipe(jsFilter.restore())

        .pipe(cssFilter)
        .pipe($.csso())
        .pipe(cssFilter.restore())

        .pipe($.rev())
        .pipe(assets.restore())
        .pipe($.useref())
        .pipe($.revReplace())

        .pipe($.rename(function(path) {
            if(path.extname === '.php') {
                path.dirname = 'app/views/layouts';
            } else {
                path.dirname = 'public/assets';
            }
        }))

        .pipe(gulp.dest('./'))
        .pipe($.size({title: 'build files', showFiles: true}))

        .on('end', function() {
            setTimeout(function() {
                // force watchify to close all watchers
                process.exit();
            });
        });

}); …
Run Code Online (Sandbox Code Playgroud)

node.js gulp

4
推荐指数
1
解决办法
1637
查看次数

Shell globbing否定在bash中不起作用

我目前很困惑为什么终端中的shell globbing使用否定但在bash中运行时显示错误.

获取下面终端中执行的命令,该命令显示./HTML目录中的所有js文件,但以js文件结尾的文件除外.bundle.js.

$ shopt -s globstar
$ ls ./HTML/**/!(*.bundle).js
Run Code Online (Sandbox Code Playgroud)

上面的命令工作得很好,现在让我们把它放在一个bash文件中

list-js.sh

#!/usr/bin/env bash

shopt -s globstar
ls ./HTML/**/!(*.bundle).js
Run Code Online (Sandbox Code Playgroud)

在终端中执行:

$ bash list-js.sh
list-js.sh: line 4: syntax error near unexpected token `('
list-js.sh: line 4: `ls ./HTML/**/!(*.bundle).js'
Run Code Online (Sandbox Code Playgroud)

如您所见,它显示语法错误.

bash shell

1
推荐指数
1
解决办法
188
查看次数