当我尝试使用bowserify,angularjs和coffeescript时,我遇到了一个问题.
事实上,当我尝试要求('angular')时,我得到一个空对象:
angular = require('angular')
console.log angular ## return an empty object {}
configuration = require('../../config/config')
console.log configuration ## returns my fully config file correctly
Run Code Online (Sandbox Code Playgroud)
我不知道为什么在这种情况下它不能正常工作: - /.这是我的package.json,其中我放置了我的个人角度依赖项:
{
"dependencies": {
"gulp": "*",
"gulp-browserify": "*",
"coffeeify": "*",
"gulp-concat": "*"
},
"browser": {
"angular": "./app/core/angular-libs/angular.min.js",
"angular-route": "./app/core/angular-libs/angular-route.min.js",
"angular-animate": "./app/core/angular-libs/angular-animate.min.js"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的gulp文件,它在dest文件夹中生成我的bundle.js:
var gulp = require('gulp');
var browserify = require('gulp-browserify');
var concat = require('gulp-concat');
gulp.task('scripts', function () {
return gulp.src('app/**/*.coffee', { read: false })
.pipe(browserify({ transform: ['coffeeify'], extensions: ['.coffee'] }))
.pipe(concat('bundle.js')) …Run Code Online (Sandbox Code Playgroud) 我实际上正在开发一个应用程序,我需要从我的数据库中获取一些信息:
我需要的是获得用户对所有"traitements"的日期差异,但是以小时格式表示.例如,如果骚扰在24/02/2015 08:00:00开始并在2015年2月24日10:00:00结束,我需要"2"小时.
这就是我的实际情况:
@TraitementNettoyage.aggregate([
{$group: {'_id': {user: '$user'}, time: {'$subtract': ['$dateSortie', '$dateEntre']}}},
{$sort: {_id: 1}}
]).exec((err, res)=>
console.log res
)
Run Code Online (Sandbox Code Playgroud)
此请求不起作用,并告诉我$ subtract是一个未知的组操作符.
编辑:我可以使用$减法但我不知道如何分组.你能帮助我吗 ?
这是我没有组的新代码:
Traitement.aggregate([
{$project: {total: {$subtract: ['$dateSortie', '$dateEntre']}}},
{$sort: {_id: 1}}
]).exec((err, res)=>
console.log res
)
Run Code Online (Sandbox Code Playgroud)
最后一部分是按用户属性对其进行分组,我不知道如何使其工作: - /
编辑2:
我需要的文件:
[{
"_id": {
"user": {
"_id": "5512a66db54f879c2887411f",
"userLastname": "Toto",
"userFirstname": "Toto"
},
"total": 17824
}
},
{
"_id": {
"user": {
"_id": "551408741ad3b66c19978e9a",
"userLastname": "Foo",
"userFirstname": "Foo"
},
"total": 939
}
}]
Run Code Online (Sandbox Code Playgroud)
还有一个简单的"traitement"文件: …
小域名演示文稿
我实际上有两个微服务:
说明
在HTTP请求中调用计费时,我需要在加载用户的情况下发送完全计费对象.在这种情况下,在这种特殊情况下,我真的需要这个.
我第一次环顾四周,似乎使用消息队列是一个好主意,因为异步性,所以计费服务可以发送队列:
"谁是id为123456的用户?我需要加载它"
所以我的两个服务可以交换,而不是彼此真正了解,或者不知道彼此的"位置".
问题
我的第一个问题是,在这种情况下使用服务注册表的目的是什么?消息队列能够在不知道任何有关用户服务位置的情况下向我们提供信息吗?
我们什么时候需要使用服务注册:在Aggregator Pattern的情况下,使用RESTFul API,我们可以浏览hateoas链接.在代理模式的情况下可能吗?当微服务与另一个服务接口时?
现在承认,我们使用代理模式,具有"正面服务".在这种情况下,我可以使用服务注册.但这意味着前端发送服务知道服务注册中的userService名称和计费服务?示例:
服务用户在ZooKeeper上注册为"UserServiceOfHell:http://80.80.80.80/v1/ "
服务计费注册为"BillingService有:http://90.90.90.90/v4.3/ "
前端服务需要向用户和计费服务发送一些请求,这意味着它需要知道用户服务是"UserServiceOfHell".这是在项目开始时定义的吗?
注意:我要求的一切都基于http://blog.arungupta.me/microservice-design-patterns/
我实际上正在学习 golang 并尝试在我用另一种语言制作的 Rest API 上实现代理
现在,我只想查询我的 golang API,提取它们的实际路径参数并基于它查询其他 API。
我希望结果“完全相同”(或者至少是正文部分),就像一个简单的 JSON 一样。
目前,我不想为我的数据创建结构,我只想简单地获取和检索内容。
这是我所拥有的:
package main
import (
"fmt"
"net/http"
"github.com/gorilla/mux"
)
const API_URL string = "https://my-api-path/"
func setHeaders(w http.ResponseWriter) {
w.WriteHeader(http.StatusOK)
w.Header().Set("Content-Type", "application/json")
}
func extractParams(r *http.Request) map[string]string {
return mux.Vars(r)
}
func getHandler(w http.ResponseWriter, r *http.Request) {
setHeaders(w)
params := extractParams(r)
url := API_URL + params["everything"]
response, err := http.Get(url)
if err != nil {
fmt.Fprint(w, err)
}
fmt.Fprint(w, response)
}
func main() {
router := mux.NewRouter() …Run Code Online (Sandbox Code Playgroud) 我实际上正在使用 express-session 并且我有一个问题:node.js,或者更具体地说是 express-session 是无状态还是有状态?
实际上,当我们需要使用 session with node 时,我们使用 req.session.foo ,这意味着我们使用 request 来获取 session。
那么,服务器上是否存储了任何内容(有状态)?在这种情况下,为什么我们不能像在 PHP 中那样使用“全局变量”访问值?
在另一种情况下,这意味着我们有一个无状态服务器,并且 sessionID 值是否对应于令牌密钥?
你能帮我多了解一下这个中间件吗?
感谢提前
有谁知道一个模块,或者一种允许我在比较结果为真时监听日期并执行特定操作而不使用 setTimeOut 的方法?
我需要的 :
if(currentHour==="08:00:00"){
doJob()
}
Run Code Online (Sandbox Code Playgroud)
编辑:更具体地说,我真正需要的是:
event.on((x==='toto'),function(){console.log('hi');}
Run Code Online (Sandbox Code Playgroud)
感谢您的提前
我在处理MongoDb时遇到了麻烦.
我需要 :
我知道我们可以使用$ last和mongodb,但我根本不知道如何继续.
我试过了 :
db.collection.aggregate(
[
{
$group:
{
_id: "$zone._id",
lastRegistered: { $last: "$_id" }
}
}
]
)
Run Code Online (Sandbox Code Playgroud)
但它似乎没有给我我需要的东西
用例子编辑
根据这三个:
{ _id: 55d5a01f9f58d2cc0eb79f5d,
controlDate: Thu Aug 20 2015 11:38:40 GMT+0200 (Paris, Madrid (heure d’été)),
zone:
{ _id: 55cb5bb42d191d2022c5c266,
zoneName: 'Syphon 1',
},
actif: true
},
{ _id: 55d59f129f58d2cc0eb79f5c,
controlDate: Fri Aug 21 2015 07:34:12 GMT+0200 (Paris, Madrid (heure d’été)),
zone:
{ _id: 55cb5bb42d191d2022c5c266,
zoneName: 'Syphon …Run Code Online (Sandbox Code Playgroud) 我实际上正在尝试e2e测试我的简单应用程序,并且在处理angular-recaptcha(https://github.com/VividCortex/angular-recaptcha)时遇到一些麻烦。
这是我的测试:
it('should redirect on another page', function() {
browser.get('http://127.0.0.1:3000/#/');
var userName = element(by.model('auth.loginInfos.username'));
userName.sendKeys('consumer1@eco.com');
var password = element(by.model('auth.loginInfos.password'));
password.sendKeys('consumer1');
var recapt = element(by.id('recaptcha'));
recapt.sendKeys();/* How can I put the recaptcha value to true ? */
var btn = element(by.className('btn'));
btn.click();
/**
* Assertions etc...
*/
});
Run Code Online (Sandbox Code Playgroud)
因此,您可以看到我正在尝试填充Recaptcha值,但我不知道如何进行。
你能帮助我吗 ?
注意:我正在使用量角器
谢谢你的帮助
我正在尝试使用Electron构建应用程序.
我需要根据电子env和使用电子封装进行一些单元测试.
这样,我使用spectron来模拟我的应用程序.
在文档中,我写道我必须在'path'属性中放入我的可执行文件所在的路径.我现在没有可执行文件,我处于开发模式.
以下是我根据另一个问题尝试的内容:
beforeEach(() => {
app = new Application({
path: 'node_modules/.bin/electron'
});
app.start().then(res => console.log(res), err => console.log(err));
});
Run Code Online (Sandbox Code Playgroud)
提示中没有任何内容,并且以下测试失败告诉我无法在未定义的对象上获取getWindowCount(显然,应用程序未实例化):
it('should call currentWindow', (done) => {
app.client.getWindowCount().then((count) => {
expect(count).to.equals(1);
done();
});
});
Run Code Online (Sandbox Code Playgroud)
有谁知道我应该在这条道路上放置什么来让我的测试环境工作?
PS:我使用摩卡柴和sinon.
谢谢你的帮助
我正在尝试使用重新连接外部模块在模块之间进行一些测试。
实际上,我有这两个模块:
import callbackRender from './callbackRender'
import { HttpRequest } from 'default-http'
export default (injector, route) => {
return (request, response) => {
const ctrl = injector.get(route.controller)
const result = ctrl[route.controllerMethod](new HttpRequest())
if (result.then) {
return result.then(res => callbackRender(res, response))
} else {
callbackRender(result, response)
}
}
}
export default (httpResponse, response) => {
if (httpResponse.content.content) response.send(httpResponse.content.content)
else response.render(httpResponse.content.page)
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试像下面这样测试它:
import chai from 'chai'
import { HttpRequest, HttpResponse } from 'default-http'
import UserControllerMock from './UserControllerMock'
import expressKonnector from '../app/expressKonnector' …Run Code Online (Sandbox Code Playgroud) javascript ×6
node.js ×3
angularjs ×2
coffeescript ×2
mongodb ×2
amqp ×1
browserify ×1
chai ×1
electron ×1
express ×1
go ×1
gulp ×1
mocha.js ×1
mongoose ×1
protractor ×1
rest ×1
selenium ×1
service ×1
session ×1
spectron ×1
testing ×1
web-services ×1