小编Dav*_*osh的帖子

节点JS需要没有var

{这与Twitter无关}

一个有趣的问题,有趣的是,它可能是愚蠢的,你可以笑,但我至少会得到这个该死的痒的答案.

目前我用

var Bootstrap = require('library/Bootstrap');
Bootstrap.run();
Run Code Online (Sandbox Code Playgroud)

如果我能在Bootstrap index.js中做这样的事情,真正伟大的事情

module.exports.Bootstrap = My_Bootstrap;
Run Code Online (Sandbox Code Playgroud)

并且像这样毫无疑问地叫它

require('library/Bootstrap');
Bootstrap.run();
Run Code Online (Sandbox Code Playgroud)

无需向我的空间声明另一个变量,有没有办法做到这一点,还是我盯着屏幕想知道,做梦,迷路,回来浪费时间?

编辑 所以这就是我最后所做的:

我创建了一个单一的全局对象,并且只添加了重要的模块,因此可以访问和实例化它们.这结果是一个惊人的答案和解决方案,非常方便

javascript node.js requirejs

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

Node JS覆盖标准模块

朋友问了一个有趣的问题,我尝试过一些东西,但无济于事,有没有办法覆盖Node JS模块?

例如,我想覆盖readFile函数以使用S3存储桶而不是文件系统.IE:

var fs = require('fs');

fs.readFile('my_text_file.txt', ...);
Run Code Online (Sandbox Code Playgroud)

实际上运行这样的东西

FileSystem.readFile = function () {
    // Connect to S3 and retrieve remote file
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了原型,但似乎他们已经设置了没有__proto__对象的原生模块,他们没有.constructor任何对任何人都有意义的属性.

我已经考虑过使用Nodes VM,但这太严格了,因为我希望用户能够通过它来安装模块npm并使用它们.

我真正来的最接近的是创建一个新模块(因为我不能放置fs.js在我的node_modules文件夹中命名的文件并且需要它;它只是被忽略)并且只是将值设置为fs我想要的但是这不是'非常正确,我希望用户使用require('fs')并使用我的自定义功能.

如果没有编译我自己的Node JS版本,这是否可行?

javascript node.js

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

Angular JS $ location.path(...)没有触发路由控制器

所以我正在尝试使用表单提交更新路径

$location.path('/search');
Run Code Online (Sandbox Code Playgroud)

但它并没有触发注册的路线'/search'我也尝试了尾随斜线.没什么,我也尝试了,$scope.$apply但我只是得到了$apply already in progress错误所以肯定有一个范围.

为什么这不会调用注册到路由的控制器或加载templateUrl注册到它的路由器.

路由器

App.config(function ($routeProvider, $locationProvider) {

    $locationProvider.html5Mode(true).hashPrefix('!');

    $routeProvider
        .when("/", {
                "controller"  : "HomeController",
                "templateUrl" : "templates/home.html"
        })
        .when("/search", {
                "controller"  : "SearchResultsController",
                "templateUrl" : "templates/search-results.html"
        })
        .when("/search/:location", {
                "controller"  : "SearchLocationController",
                "templateUrl" : "templates/search-results.html"
        })
        .otherwise({
                "redirect" : "/"
        });
});
Run Code Online (Sandbox Code Playgroud)

表单ng-submit回调

$scope.doSearchRequest = function (event, params) {
    // Prevent the default action
    event.preventDefault();
    $scope.data = params;

    $location.path('/search/');
};
Run Code Online (Sandbox Code Playgroud)

编辑

添加这个

$scope.$on('$routeChangeStart', function(next, current) …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

终端查找,目录最后而不是第一个

我有一个makefile将JavaScript文件连接在一起,然后运行该文件uglify-js来创建一个.min.js版本.

我目前正在使用此命令查找并连接我的文件

find src/js -type f -name "*.js" -exec cat {} >> ${jsbuild}$@ \;
Run Code Online (Sandbox Code Playgroud)

但它首先在目录中列出文件,这使得大量的意义,但我希望它列出目录上方.js文件中的src/js文件,以避免我的undefinedJS错误.

无论如何要做到这一点或?我有一个谷歌周围,看到了sort命令和-s标志,find但它有点超过我的理解在这一点!

[编辑]

最终的解决方案与接受的答案略有不同,但它被标记为已接受,因为它给我带来了答案.这是我使用的命令

cat `find src/js -type f -name "*.js" -print0 | xargs -0 stat -f "%z  %N" | sort -n | sed -e "s|[0-9]*\ \ ||"` > public/js/myCleverScript.js
Run Code Online (Sandbox Code Playgroud)

bash terminal makefile

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

停止Angular JS ng-view擦除页面

好吧,我需要能够停止ng-view擦除内容,我需要在那里使用ng-view,因为它是唯一一个它不会(也不能)核对整个应用程序的地方.

我内部有一个滚动条,但是当一个人进行搜索时内容会发生变化(应用程序的整个点就是搜索)但只是加载页面Angular会清空ng-view.

有什么方法可以阻止这种默认行为?

javascript angularjs

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

SVG 模式,任何方式/黑客停止重复图像

我使用的是SVG<pattern>作出<image>另一个用户填充提供SVG,但是我真的很讨厌它如何自动重复(我把它)我需要知道,如果有一种方法或黑客攻击,使其停止重复的图像,因为它是造成两个问题。

  1. 当浏览器认为它必须开始绘制多个图像(平铺)时,它显然会卡顿(我认为这也是 Interact.js 性能不佳的部分原因)

  2. 用户不希望它平铺,只希望它周围的空白区域。

它位于 Electron 应用程序中,因此浏览器支持最少。

process.versions = {
  ares: "1.10.1-DEV"
  atom-shell: "0.34.1"
  chrome: "45.0.2454.85"
  electron: "0.34.1"
  http_parser: "2.5.0"
  modules: "46"
  node: "4.1.1"
  openssl: "1.0.2d"
  uv: "1.7.4"
  v8: "4.5.103.29"
  zlib: "1.2.8"
}
Run Code Online (Sandbox Code Playgroud)

这是所要求的模式(带有通常应用的转换),但我不确定这是什么用途。

<pattern>widthheight被计算(target element's dimensions / image's size) + 1data-x/y用作拖放界面的一部分,data-scale-x/y用于缩放图像而不翻译它。

<pattern id="user_image_container" patternUnits="objectBoundingBox" x="0" y="0" width="16.125264252110085" height="11.416432536797034" data-x="-3008" data-y="-1525" patternTransform="rotate(0 -416 203) translate(170.510014198065 170.5174437535593) scale(0.070795135733522) translate(-3008 -1525)" data-scale-x="170.510014198065" data-scale-y="170.5174437535593">
  <image xmlns:xlink="http://www.w3.org/1999/xlink" …
Run Code Online (Sandbox Code Playgroud)

javascript svg electron

4
推荐指数
2
解决办法
8491
查看次数

聚合物@import主题文件:样式中的主机没有任何影响

回到另一个聚合物问题,我有一个我正在尝试设计的Polymer/Electron应用程序.

我想创建一个theme.css包含:host我的整个主题的块,然后我可以将其导入到我的模块样式表中,但我尝试了一些不同的东西,并尝试在文档中找到任何内容无济于事.

到目前为止,我已尝试过,并且<template>定义之外:

<link rel="stylesheet" href="./account-list.css">@import
<style>@import 'my-theme.css';</style>刚刚超过我<link>
:root,而不是:host我的theme.css

但似乎都不起作用,theme.css肯定是被要求但对模块的风格没有影响.

无论如何有聚合物这样的主题,我真的不希望有一个构建步骤.

css polymer electron

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

coffeescript总是回来

所以我有一个关于Coffee Script的愚蠢问题.我给它第二次机会,但为什么它会归还一切

这是与函数的最后一个语句/行有关吗?以及如何禁用此功能?把评论或其他东西作为最终的"表达",我知道这是一个"记录"的特征,但没有; 不,不是真的,我怎么没有到处都有回报并节省下载/执行时间?

当然这种行为可以搞砸jit了吗?

(locate =
    getPosition: () ->
        # Check we support geolocation
        throw Exception 'Your browser doesn\'t support location based services!' if !navigator.geolocation

        navigator.geolocation.getCurrentPosition (pos) ->
            console.log pos
)
Run Code Online (Sandbox Code Playgroud)

编译成

(function() {
  var locate;

  locate = {
    getPosition: function() {
      if (!navigator.geolocation) {
        throw Exception('Your browser doesn\'t support location based services!');
      }
      return navigator.geolocation.getCurrentPosition(function(pos) {
        return console.log(pos);
      });
    }
  };

}).call(this);
Run Code Online (Sandbox Code Playgroud)

[编辑]

我关心的原因是这只是我构建的应用程序的一个非常大的库之一,如果我们说有500个函数,其中200个对dom执行某些操作而不是返回类似数字或对象的内容,那么额外的200返回是我不想要或不需要的额外1.2k数据.

此外,一个没有返回的函数,返回undefined和一个返回null良好的函数,无需解释.如果我愚蠢到足以检查这一点,那就是全面的错误.

我敢肯定会有一些性能差异,但我不知道这一点,现在我没有时间做一些jsperfs,但我会感兴趣.

未定义且为null

javascript coffeescript

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

Javascript for循环不能正常工作?

我遇到了一个我写的"清理"功能的问题,请看下面的代码,我将解释它是如何工作的.

clean: function (e) {
    var
            els = null,
        i = 0;

    if (e === undefined) {
        e = this.cont;
    }

    els = e.getElementsByTagName('*');

    for (i=0;i<els.length;i++) {
        if (els[i].className.search('keep') === -1) {
            e.removeChild(els[i]);
        }
    }
    return this;
},
Run Code Online (Sandbox Code Playgroud)

参数e是一个dom元素,如果没有提供this.cont也是一个早期存储在整个函数中的dom元素,e默认为它.

该函数循环遍历所有子元素并检查它没有类保持(相当明显的是这样做)并删除任何不匹配的元素.

这一切似乎都工作但我有一个元素有2个图像和2个输入没有类'保持'但变量我只到2并且循环停止(它应该达到4并删除所有四个元素)

任何帮助将不胜感激.

/*更新*/

感谢@pimvb和@Brett Walker,下面是最终的代码.

clean: function (e) {
    var
        els = null,
        i = 0;

    if (e === undefined) {
        e = this.cont;
    }

    els = e.getElementsByTagName('*');

    i = els.length;

    while (i--) {
        if (els[i].className.search('keep') === -1) {
            els[i].parentNode.removeChild(els[i]); …
Run Code Online (Sandbox Code Playgroud)

javascript dom loops getelementsbytagname

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