我有一个应用程序,它对依赖项下的package.json文件中指定的第三方模块(例如'express')具有通常的依赖关系.例如
"express" : "3.1.1"
Run Code Online (Sandbox Code Playgroud)
我想模块化地构建我自己的代码,并且有一组本地(意思是我当前在文件系统上)的模块由package.json安装.我知道我可以通过运行来安装本地模块:
npm install path/to/mymodule
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何通过package.json依赖项结构实现这一点.使用--save此命令中的选项只是放入"mymodule": "0.0.0"我的package.json(不引用文件路径位置).如果我然后从node_modules中删除已安装的版本,并尝试从package.json重新安装,它将失败(因为它在中央注册表中查找"mymodule",并且看起来不是本地的).
我确信这是一种告诉"dependencies": {}结构我希望从文件系统路径安装它的方法,但不知道如何.
还有其他人有这个问题吗?谢谢.
这是PHP 5.4中关于通过引用传递对象的一个非常优秀的案例,其中获取此错误:
PHP Warning: Parameter 1 to A::foo() expected to be a reference, value given
Run Code Online (Sandbox Code Playgroud)
但仅作为复合效应:
不知道为什么这些东西都会导致这种行为或是否应该.
需要注意的是,PHP 5.5中不存在此效果.
这是导致上述错误的代码,但是如果你COMMENT THIS LINE对代码运行正常注释(例如,对象被正确传递给'foo'函数):
class A {
private function foo(&$arg1) {
var_dump('arg1: ', $arg1);
}
}
class B extends A {
public function bar() {
$x = new stdClass();
$x->baz = 'just a value';
$this->callPrivate($x);
}
private function callPrivate($x)
{
$method = new \ReflectionMethod(
'A',
'foo'
);
//* for some reason, the private function needs to …Run Code Online (Sandbox Code Playgroud) 我在请求/响应主体中有一个RESTFul API消耗/返回JSON.当客户端发送无效数据(有效的JSON但字段的值无效)时,我希望能够返回JSON结构(以及相关的400+代码).
然后,该结构将允许前端在每个字段的基础上解析错误,并在输入字段旁边呈现错误.
例如理想输出:
{
"errors":{
"name":["invalid chars","too long","etc"]
"otherfield":["etc"]
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Resteasy作为API,并且使用违规异常很容易让它呈现JSON错误:
@Provider
@Component
public class ValidationExceptionHandler implements ExceptionMapper<ResteasyViolationException> {
public Response toResponse(ResteasyViolationException exception) {
Multimap<String,String> errors = ArrayListMultimap.create();
Consumer<ResteasyConstraintViolation> consumer = (violation) -> {
errors.put(violation.getPath(), violation.getMessage());
};
exception.getParameterViolations().forEach(consumer);
Map<String, Map<String, Collection<String>>> top = new HashMap<>();
top.put("errors", errors.asMap());
return Response.status(Status.BAD_REQUEST).entity(top)
.build();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,错误路径(violation.getPath())是以属性为中心而不是以XmlElement-name为中心的.
例如以上输出:
{
"errors":{"createCampaign.arg1.name":["invalid chars","etc"]}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试从最后一个点回来剥离索引以获得"名称"但是该黑客还存在其他问题.
例如,如果我的"名称"属性不是"名称",则它不起作用:
@XmlElement(name="name")
@NotNull
private String somethingelse;
Run Code Online (Sandbox Code Playgroud)
"somethingelse"将返回给客户,但他们的客户不知道那是什么:
{
"errors":{"somethingelse":["cannot be null"]}
}
Run Code Online (Sandbox Code Playgroud)
客户端需要"名称",因为这是在发送字段时调用的字段.
我的资源:
package com.foo.api;
import …Run Code Online (Sandbox Code Playgroud) 指定使用变量名称相同的默认值扔引用错误:
var a = 'adef';
var x = (a=a) => console.log(a);
x();
=> "ReferenceError: a is not defined"
Run Code Online (Sandbox Code Playgroud)
但这很好:
var other = 'otherdef';
var x = (a=other) => console.log(a);
x();
=> "otherdef"
Run Code Online (Sandbox Code Playgroud)
我的假设是,价值a在外部范围将被分配到新的范围.
我已经尝试使用const代替var,和class/ function代替箭头功能,但结果总是相同的(在铬63和节点6测试).
我有一种感觉的问题是,a在分配过程中"升起"等分配指的是新的"A"(其存在,但未定义)...
我使用 python 3 和flask,以及flask-migrate(使用alembic)来处理我的SQL 迁移。当我运行本地集成测试时,我想每次都重建数据库,这样我就可以针对我正在测试的每个 api 调用的干净数据库运行我的 API 调用(是的,我可以使用 sqlite,但我想检查约束是否正确) )。
我可以在命令行上轻松执行以下操作:
mysql -uroot -e 'drop database DBNAME; create database DBNAME;'
FLASK_APP=flask_app.py flask db upgrade
Run Code Online (Sandbox Code Playgroud)
但我宁愿在 python 代码中运行它,原因有两个:
该app对象(使用 创建app = Flask(__name__))有一个cli属性,但它需要一个上下文对象,而且感觉我使用的工具不正确。我预期app.cli.invoke('db', 'upgrade')或类似...
关于如何在没有子 cli 进程的情况下从代码调用 Flask 命令有什么建议吗?
alembic ×1
ecmascript-6 ×1
flask ×1
java ×1
javascript ×1
json ×1
node.js ×1
npm ×1
php ×1
python ×1
rest ×1
resteasy ×1
web-services ×1