{这与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)
无需向我的空间声明另一个变量,有没有办法做到这一点,还是我盯着屏幕想知道,做梦,迷路,回来浪费时间?
编辑 所以这就是我最后所做的:
我创建了一个单一的全局对象,并且只添加了重要的模块,因此可以访问和实例化它们.这结果是一个惊人的答案和解决方案,非常方便
朋友问了一个有趣的问题,我尝试过一些东西,但无济于事,有没有办法覆盖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版本,这是否可行?
所以我正在尝试使用表单提交更新路径
$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) 我有一个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) 好吧,我需要能够停止ng-view擦除内容,我需要在那里使用ng-view,因为它是唯一一个它不会(也不能)核对整个应用程序的地方.
我内部有一个滚动条,但是当一个人进行搜索时内容会发生变化(应用程序的整个点就是搜索)但只是加载页面Angular会清空ng-view.
有什么方法可以阻止这种默认行为?
我使用的是SVG<pattern>作出<image>另一个用户填充提供SVG,但是我真的很讨厌它如何自动重复(我把它)我需要知道,如果有一种方法或黑客攻击,使其停止重复的图像,因为它是造成两个问题。
当浏览器认为它必须开始绘制多个图像(平铺)时,它显然会卡顿(我认为这也是 Interact.js 性能不佳的部分原因)
用户不希望它平铺,只希望它周围的空白区域。
它位于 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>的width和height被计算(target element's dimensions / image's size) + 1。data-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) 回到另一个聚合物问题,我有一个我正在尝试设计的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肯定是被要求但对模块的风格没有影响.
无论如何有聚合物这样的主题,我真的不希望有一个构建步骤.
所以我有一个关于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,但我会感兴趣.

我遇到了一个我写的"清理"功能的问题,请看下面的代码,我将解释它是如何工作的.
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)