如果我想在屏幕上显示GitHub中的markdown文件,例如:https: //github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md
那我该怎么做呢?在生成的github html页面(我保存)中需要更改哪些代码才能使打印输出符合降价的外观和感觉?
到目前为止我唯一的线索就是这个:https: //makandracards.com/makandra/4947-how-to-print-github-wiki-pages 但它更像是一种功利主义(非程序化)解决方案真的有用,因为正在使用的降价解释器不像GitHub网站上运行的解释器那样宽容,所以它无法解决.
现在,我知道在angularjs调用中为动态标题设置标记的唯一方法就是$http
这样:
return $http.get({
url: 'https://my.backend.com/api/jokes',
params: {
'jokeId': '5',
},
headers: {
'Authorization': 'Bearer '+ $scope.myOAuthToken
}
});
Run Code Online (Sandbox Code Playgroud)
但我想弄清楚如何通过$ resource传递这个,这里有一些伪代码不起作用:
...
.factory('myFactory',
['$resource',
function($resource){
return {
jokes: $resource('https://my.backend.com/api/jokes', null, {
query: {
method: 'GET'
}
})
};
}
]
);
...
return myFactory.jokes.query({
'jokeId': '5',
'headers': {
'Authorization': 'Bearer '+ $scope.myOAuthToken
}
});
Run Code Online (Sandbox Code Playgroud)
如何将动态标题传递给angularjs的$ resource?
我有一个MyTask
实现的类,Runnable
并且可以在任何给定时刻实例化许多这样的对象.有些属性我想自动MyTask
上课.
但我认为,如果我MyTask
用@Component
它标记它将成为一个弹簧管理的单身正确吗?这不是我想要的,我需要由TaskExecutor运行这个类的许多独立实例.
所以我的问题:
@Component
注释的理解从根本上是错误的吗?它不会MyTask
成为一个由春季管理的单身人士吗?@Autowired
并注入属性吗?MyTask
吗?更新#1 - 这些不起作用:
public class MyTask implements Runnable { // I want this class to be non-singleton
@Autowired
public SomeSpecialSpringConfiguredConnectionClass blah; // this is the singleton bean that should be injected
@Override
public void run() {
// BLAH IS NULL, this shouldn't be NULL, that is not what I want
// which makes sense …
Run Code Online (Sandbox Code Playgroud) 是否有一些编程方式或可能是一个浏览器插件,允许用户在他们的浏览器当前加载的网页上任意运行他们想要的任何jQuery?
编辑
我的动机是能够在页面上提前测试jQuery语法和命令,然后将它们添加到其源代码或建议调整我尝试过的页面的webadmins.
问题非常简单:有没有办法从单个nodejs项目向npmjs注册表发布两个不同的NPM模块?
但对于那些你想知道为什么有人甚至想要这样做的人呢?......这个问题背后的动机可能不太明显.所以请允许我解释一下:
我使用的东西类似于一个名为loopback的app-server.我的nodejs应用程序整齐地分布到客户端,公共和服务器文件夹中.
我经常需要在我的common
文件夹中重用其他项目中的模型.虽然我可以通过使用.npmignore
删除其他东西将该文件夹作为单独的NPM模块发布:
/*
/common/utils
/common/models/*.js
!/common/models/*.json
我无法package.json
从已发布的内容中删除实际运行我的应用程序所需的当前杂乱.
$ npm pack
$ tree -L 2 ~/dev/w2/node_modules/warehouse
~/dev/w2/node_modules/warehouse
??? README.md
??? common
? ??? models
??? node_modules
? ??? ...
? ??? ...
??? package.json
事实上,我过滤掉了除了我的common/models
文件夹以外的所有内容,但是因为我不确定如何在打包之前动态调整package.json文件或者作为打包它的一部分...一个npm install
将放下真正不属于的依赖关系需要.
我不喜欢单独使用模型创建一个单独的项目,因为这迫使我将其添加为核心项目的依赖项,并且活动开发分为两个项目,它们曾经只是一个项目.npm link
等等是一种很好的方法来解决它,但它增加了开发人员设置的复杂性,当新人加入并确保没有人检查错误的东西.
那么有没有办法从单个nodejs项目向npmjs注册表发布两个不同的NPM模块?或者某种方式使用不同的package.json文件进行单独的发布但所有来自一个项目?
更新:我的目标是什么?
通过将其作为NPM模块发布,从我的核心项目中重用其他项目中的模型.没有放弃继续开发我的核心项目作为一个原子实体没有npm link
等的便利,因为当不仅仅是一个人正在努力它时,它会变得混乱.
我通过Facebook和Whatsapp分享网址.这些消息传递应用程序倾向于以共享链接的缩略图形式生成"丰富预览".到目前为止,一切似乎都很好
但是,如果我更改链接指向的内容,那么下次与完全不同的人共享相同的链接时,更改不会反映出来!这适用于Facebook和WhatsApp中的丰富预览缩略图.我发送消息的新人仍然看到前一个用户从我那里收到的旧缩略图.
例如,以下是我发送给ALICE的带有链接的消息后,消息传递应用程序呈现的缩略图的快照:
以下是我编辑链接指向的内容后,消息传递应用程序呈现的另一个缩略图的快照.我将名称更改为Pro3并将价格更改为549并向BOB发送了一条新消息...但是BOB看到了与ALICE相同的缩略图预览!
我首选的解决方案是使用Cache-Control
和Pragma
标记(根据网络标准)来禁用缓存,但它似乎不起作用.
这是我的代码
'<title>' + metaData.title + '</title>' +
'<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">\n' +
'<meta http-equiv="Pragma" content="no-cache">\n' +
'<meta http-equiv="Expires" content="0">\n' +
'<meta http-equiv="refresh" content="0; url=http://my.site.com/my/products">' +
'<meta name="description" content="' + metaData.description + '" />\n' +
'<meta property="og:type" content="product" />\n' +
'<meta property="og:title" content="' + metaData.title + '" />\n' +
'<meta property="og:description" content="' + metaData.description + '" />\n' +
'<meta property="og:image" content="' + metaData.imageUrl + '" />\n' …
Run Code Online (Sandbox Code Playgroud) caching metadata meta-tags open-graph-protocol facebook-opengraph
我正在使用node 0.10.x
和npm 2.15.0
,我想强行排除最终被安装的嵌套依赖项。
到目前为止,我已经尝试创建npm-shrinkwrap.json
并手动编辑它来删除嵌套的依赖关系,但是在运行之后rm -rf node_modules && npm install
...我仍然可以看到为以下内容构建的嵌套依赖关系:
kerberos@0.0.19 install /.../node_modules/loopback-connector-mongodb/node_modules/mongodb/node_modules/kerberos
(node-gyp rebuild) || (exit 0)
CXX(target) Release/obj.target/kerberos/lib/kerberos.o
CXX(target) Release/obj.target/kerberos/lib/worker.o
CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
CC(target) Release/obj.target/kerberos/lib/base64.o
CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
SOLINK_MODULE(target) Release/kerberos.node
Run Code Online (Sandbox Code Playgroud) 如何确保ngrok转发客户端IP地址?
我的测试代码一直坚持所有请求都来自127.0.0.1,因为ngrok但我想记录实际的客户端IP.负载均衡器通常在X-Forwarded-For或x-real-ip中设置标题,但我不确定ngrok的进程是什么......
console.log('req.headers[\'x-real-ip\']', req.headers['x-real-ip']);
console.log('req.headers[\'X-Forwarded-For\']', req.headers['X-Forwarded-For']);
console.log('req.ip', req.ip );
console.log('req.connection.remoteAddress', req.connection.remoteAddress);
console.log('req.connection.remoteAddress', req.connection.remoteAddress);
console.log('req.socket.remoteAddress', (req.socket && req.socket.remoteAddress));
console.log('req.socket.socket.remoteAddress', (req.socket.socket && req.socket.socket.remoteAddress));
Run Code Online (Sandbox Code Playgroud)
一切都打印undefined
或127.0.0.1
到目前为止.这意味着我需要以某种方式配置ngrok.
这是我正在使用的模块版本:
$ npm list -g | grep proxy
??? http-proxy@0.10.0
Run Code Online (Sandbox Code Playgroud)
一个webservice调用我的机器,我的任务是根据请求主体的内容将请求代理到另一个URL和主机,并附加一个查询参数:
var http = require('http'),
httpProxy = require('http-proxy')
form2json = require('form2json');
httpProxy.createServer(function (req, res, proxy) {
// my custom logic
var fullBody = '';
req.on('data', function(chunk) {
// append the current chunk of data to the fullBody variable
fullBody += chunk.toString();
});
req.on('end', function() {
var jsonBody = form2json.decode(fullBody);
var payload = JSON.parse(jsonBody.payload);
req.url = '/my_couch_db/_design/ddoc_name/_update/my_handler?id="' + payload.id + '"';
// standard proxy stuff
proxy.proxyRequest(req, res, {
changeOrigin: true,
host: …
Run Code Online (Sandbox Code Playgroud) 我正在使用 nodejs 客户端来循环输入并创建一个将传递给bulkWrite
操作的值数组:
var updateVal = { sku: item.sku, name: item.name, updatedAt: new Date()};
var insertVal = { sku: item.sku, name: item.name, createdAt: new Date(), updatedAt: new Date()};
itemsToSave.push({
updateOne: {
filter: {
sku: item.sku
},
//update: { $set: updateVal }, // works
//update: { $setOnInsert: insertVal }, // works
update: { $set: updateVal, $setOnInsert: insertVal }, // DOES NOT work
upsert:true
}
});
Run Code Online (Sandbox Code Playgroud)
但由于某些原因,我不能混用$set
和$setOnInsert
......当我运行它,什么也没有发生,它就像一个无操作。这是批量操作的限制吗?
我正在使用 node-mongodb-native/2.1 来处理 mongodb 3.0.7
setOnInsert的文档表明这应该是可能的:
...
{ …
Run Code Online (Sandbox Code Playgroud) node.js ×4
npm ×2
angularjs ×1
autowired ×1
browser ×1
caching ×1
github ×1
http-proxy ×1
jquery ×1
markdown ×1
meta-tags ×1
metadata ×1
mongodb ×1
ngresource ×1
ngrok ×1
plugins ×1
pretty-print ×1
singleton ×1
spring ×1
spring-aop ×1
strongloop ×1