我想尝试使用npm为Web应用程序运行各种构建任务.我知道我可以通过添加一个scripts字段来做到这package.json一点:
"scripts": {
"build": "some build command"
},
Run Code Online (Sandbox Code Playgroud)
当你有更多复杂的命令和一堆选项时,这会变得笨拙.是否可以将这些命令移动到bash脚本或其他内容?就像是:
"scripts": {
"build": "build.sh"
},
Run Code Online (Sandbox Code Playgroud)
在哪里npm run build执行build.sh文件中的命令?
通过这篇文章阅读它似乎是,但我不清楚我应该放弃我的build.sh文件或我是否遗漏了什么.
根据文档:
Node.js为每个服务器维护多个连接以发出HTTP请求.此功能允许用户透明地发出请求.
文档进一步指定Node http.globalAgent默认依赖于发出请求,但您可以通过创建新代理来使用自己的代理http.Agent.代理用于为http请求"池套接字".
我对这一切的解释是,每次你执行一次操作时http.createServer,默认情况下你会得到几个套接字(可能就是"连接"的含义)来发出http请求,这些套接字是由它们汇集/管理的http.globalAgent.
我不清楚的是,当你创建自己的时候会发生什么http.Agent.是否Agent只是"接管"以前由其管理的套接字http.globalAgent?或者你必须为你的新Agent通道创建一个新的插座agent.createConnection?
在相关的说明中,如果我在同一节点进程中启动两个服务器并随后发出http请求,例如
const server1 = http.createServer(function(req, res) {
res.end('Hello from server1');
}).listen(3000);
const server2 = http.createServer(function(req, res) {
res.end('Hello from server2');
}).listen(5000);
http.get('/someurl');
Run Code Online (Sandbox Code Playgroud)
从哪个服务器请求?并http.Agent开始发挥作用吗?
我不清楚如何在Redux中协调多个顺序动作。例如,我有一个应用程序,该应用程序的左侧有一个“摘要”面板,右侧是一个“ CRUD”面板。用户CRUD之后,我希望该应用程序自动更新摘要。我还希望能够独立地刷新摘要和CRUD。换句话说,我不希望CRUD操作必须了解摘要或任何其他将来的下游后续操作(反之亦然)。有没有使我的动作创建者不了解其他动作的最佳实践来协调这一工作?
例如,这是(实体)动作创建器,用于清除实体集合(CRUD动作)。正确,现在它与fetchSummary()调度紧密耦合。
export function clearCollection(collection) {
return function(dispatch) {
dispatch(requestCollectionClear(collection));
return doClearCollection(collection)
.then(function(coll) {
dispatch(receiveCollectionCleared(coll))
})
.then(function() {
dispatch(fetchSummary()); // <-- How do I chain actions without tight coupling?
});
// TODO: .catch()
}
}
Run Code Online (Sandbox Code Playgroud)
在此处requestCollectionClear()启动异步操作,并且fetchSummary()是工作流中后续步骤的操作创建者。什么是分离的最佳模式fetchSummary(),从clearCollection()去耦他们使用彼此独立的?
我在特定应用程序中使用了很多 Postgres 函数(sql 和 pl/pgsql)。一些sql函数依赖于其他sql函数,例如
create or replace function my_function ()
returns table (a text, b text) as
$$
select * from my_other_function();
$$
language sql;
Run Code Online (Sandbox Code Playgroud)
为了my_function正确加载,my_other_function必须先加载,否则我会收到my_other_function does not exist错误消息。为了管理这个,我已手动确保my_other_function 不会先被加载,但它会很高兴没有不得不这样做。
换句话说,有没有办法在不考虑顺序的情况下加载我的所有函数,并在事后以某种方式检查所有必要的依赖项(函数对象)是否可用?
我正在使用 Postgres 9.6。