在我的npm包中,我想模仿Meteor遵循的模式:源文件(命名client.js)client.tests.js在src/文件夹中有一个测试文件(命名).使用该npm test命令运行测试.
我正在使用't'的使用文档.我不想find在我的包测试命令中使用a .
我知道mocha可以递归执行测试:
摩卡 - 递归
我知道mocha可以使用--recursive标志在特定的子文件夹中执行测试:
mocha src --recursive
我也明白我可以通过传递指定一个glob来过滤文件*.tests.js:
摩卡*.tests.js
但是,我想要这三个.我希望mocha只测试tests.js以src文件夹结尾的文件,递归检查子目录.
mocha --recursive *.tests.js
// See the files?
$ > ll ./src/app/
total 168
-rw-r--r-- ... client.js
-rw-r--r-- ... client.tests.js
// Option A
$ > mocha --recursive *.tests.js
Warning: Could not find any test files matching pattern: *.tests.js
No test files found
// Option B
$ > mocha *.tests.js --recursive …Run Code Online (Sandbox Code Playgroud) 我想和流星一起使用momentjs.这是一个npm包,所以根据我的理解,它不能用于meteor,因为meteor使用它自己的包系统.所以这是我的问题:
2017编辑:从Meteor 1.4+开始,npm包管理允许标准导入npm模块和命名的Atmosphere模块导入.
根据meteor文档,如果安装了autopublish包,则应将所有用户发布到所有客户端.
http://docs.meteor.com/#meteor_users
我安装了autopublish包,但仅使用forEachon Meteor.users列出当前登录的用户.
有没有更正确的方法来使用coffeescript列出客户端上的所有用户?
在单一存储库 (Java + Typescript/JavaScript) 中,我尝试配置 IntelliJ IDEA 2019.3.1 (Ultimate Edition) Build #IU-193.5662.53以使用 ESLint 和standardx,如下图所示:
可以看到standardx的版本被成功识别。但是,当我打开 TypeScript/JavaScript 文件时,我收到 IntelliJ 的错误通知:
Initialization error (ESLint). Cannot find module '<project_base_direactory>/node_modules/standardx/lib/options'
Run Code Online (Sandbox Code Playgroud)
如果我打开standardx节点模块目录,结构如下:
所以,
lib/options中查找该目录?我在运行Ubuntu 16.04 LTS的ARM Odroid XU4上安装了ELasticsearch 6和JDK 1.8.0_161.没有错误.
当我尝试将Elasticsearch作为服务启动时,我无法在端口9200上连接到localhost并且打印服务状态:
~ $ > sudo service elasticsearch status
? elasticsearch.service - LSB: Starts elasticsearch
Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
Active: active (exited) since Mon 2018-01-22 10:43:18 UTC; 9min ago
Docs: man:systemd-sysv-generator(8)
Jan 22 10:43:18 lego systemd[1]: Starting LSB: Starts elasticsearch...
Jan 22 10:43:18 lego systemd[1]: Started LSB: Starts elasticsearch.
Jan 22 10:44:07 lego systemd[1]: Started LSB: Starts elasticsearch.
Run Code Online (Sandbox Code Playgroud)
没有日志.不知道在哪里看.nofile限制设置为65536 in /etc/security/limits.conf.我不知道在哪里寻找诊断.
虽然,当我手动启动Elasticsearch时sudo /usr/shared/elasticsearch/bin/elasticsearch,它按预期工作:
~ $ > sudo /usr/share/elasticsearch/bin/elasticsearch …Run Code Online (Sandbox Code Playgroud) 有两个实例运行 uwgsi 和 nginx 服务器。每个都托管一个 Flask 应用程序。两者都在 Python 2.7.3 路径上运行。其中一台服务器针对“import simplejson”语句引发 ImportError。两台服务器上的解释器都将毫无怨言地接受此导入声明。
这是应用程序A的来源:
1 from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash, views
2 import sys
3 print sys.version
4 print sys.path
5
6 import os
7 import functools
8 import urllib,urllib2
9 import simplejson
10 from datetime import datetime, timedelta
Run Code Online (Sandbox Code Playgroud)
以及应用程序B的来源:
1 from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash, views
2
3 import sys
4 print sys.version
5 print sys.path …Run Code Online (Sandbox Code Playgroud) 我使用 nunjucks 在 python 项目中模板化前端。Nunjucks 模板必须在生产中预编译。我不在 nunjucks 模板中使用扩展或异步过滤器。与其使用 grunt-task 来监听模板的变化,我更喜欢使用 nunjucks-precompile 命令(通过 npm 提供)将整个模板目录扫描到 templates.js 中。
这个想法是让nunjucks-precompile --include ["\\.tmpl$"] path/to/templates > templates.js命令在 setup.py 中执行,这样我就可以简单地搭载我们的部署程序脚本的常规执行。
我发现setuptools 覆盖和distutils 脚本参数可能用于正确的目的,但我不太确定这两个是最简单的执行方法。
另一种方法是使用subprocess直接在 setup.py 中执行命令,但我已被警告不要这样做(而是先发制人,恕我直言)。我真的不明白为什么不。
有任何想法吗?肯定?确认?
更新 (04/2015): - 如果您没有nunjucks-precompile可用的命令,只需使用 Node Package Manager 安装 nunjucks,如下所示:
$ npm install nunjucks
Run Code Online (Sandbox Code Playgroud) 我在我的流星源中使用CoffeeScript [CS] /重/.事实上,我的项目中的所有内容都是使用CS编写的.我想用同一个令牌写包.它们应该如何组织,声明和书写,以便利用CS方言的强大功能,同时最大限度地提高可测试性和可移植性?
我想在我的所有 className 前面加上o-而不必手动调整每个 className。我使用 Vim。
我知道替换可以完成这项工作,所以我想出了这个,这显然是行不通的(也是我在这里的原因)。
:%s/class="[^"]*"/\='class="'.substitute(submatch(0), '[^o-]*', 'o-'.submatch(1), 'g').'"'/g
Run Code Online (Sandbox Code Playgroud)
解释:
class="[^"] - 匹配所有实例 class="foo bar baz"\='class="'.substitute(subexp).'"' - 替换找到的实例 class="subexp"subexp 在两个应该用原始 className 前缀替换每个空格分隔的类 o-总而言之,在程序方面,对于 each class="foo bar baz",将每个 className 替换为以 为前缀的 className o-。
提前致谢。
(奖金)编辑:怎么可以这样写忽略或与已首先应对的类名o-,遇到时,这样o-o-是不是一个导致编辑。
我有一个任意的(E)JSON,可以在我的Meteor应用程序中通过网络从客户端发送到服务器.它使用RegExp对象将结果置于零上:
# on the client
selector =
"roles.user": { "$ne": null }
"profile.email": /^admin@/gi
Run Code Online (Sandbox Code Playgroud)
所有在客户端都很好,但如果我通过Meteor.call或传递给服务器Meteor.subscribe,结果(E)JSON采用这种形式:
# on the server
selector =
"roles.user": { "$ne": null }
"profile.email": {}
Run Code Online (Sandbox Code Playgroud)
......某个工程师在里面死了一点.
Web上有大量资源解释了RegEx通过JSON.stringify/ JSON.parse或等效EJSON方法无法排序的原因.
我不相信RegEx序列化是不可能的.那怎么办呢?
你好V8程序员和节点gyp'ers.我跑OS X 10.12.6,Node v6.11.1有npm v3.10.10,nan v2.6.2,gcc为的XCode与此版本输出的一部分:
$ > gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)
请帮助我了解如何正确使用NewInstance方法和过程中消除警告npm install或node-gyp rebuild我的自定义程序包安装的过程吗?
> node-gyp rebuild
CXX(target) Release/obj.target/cellcrypt/src/cellcrypt.o
CC(target) Release/obj.target/cellcrypt/src/decode.o
CXX(target) Release/obj.target/cellcrypt/src/DecryptionWrapper.o
../src/DecryptionWrapper.cpp:55:44: warning: 'NewInstance' is deprecated [-Wdeprecated-declarations]
v8::Local<v8::Object> instance = cons->NewInstance();
^
/Users/sjcbsolo/.node-gyp/6.11.1/include/node/v8.h:3276:52: note: 'NewInstance' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", Local<Object> NewInstance() const);
^
1 warning generated. …Run Code Online (Sandbox Code Playgroud) 在 Node.js 中启动 http 服务器时,开发人员可以通过0如下传递来侦听随机可用端口:
const http = require('http')
const service = require('../my/service);
const server = http.createServer(service)
server.listen(process.env.PORT || 0) // <-- Random port by default!
Run Code Online (Sandbox Code Playgroud)
我想知道如何使用 gRPC 做同样的事情?就像是...
const grpc = require('grpc')
const services = require('./service_grpc_pb')
const server = new grpc.Server()
server.addService(services.MyService, { ... })
server.bind('0.0.0.0:0', grpc.ServerCredentials.createInsecure())
server.start()
Run Code Online (Sandbox Code Playgroud)
那样有用吗?我还没有弄清楚。我的目标是获取一个随机端口,然后查询服务器以获取分配的端口,以便向中央微服务注册表注册服务。
提前感谢您的帮助。
meteor ×4
javascript ×3
node.js ×3
coffeescript ×2
npm ×2
python ×2
regex ×2
grpc ×1
http ×1
json ×1
mocha.js ×1
momentjs ×1
networking ×1
node-gyp ×1
nunjucks ×1
python-2.7 ×1
server ×1
setuptools ×1
simplejson ×1
standardx ×1
substitution ×1
tcp ×1
ubuntu ×1
v8 ×1
vim ×1
websocket ×1