我正在编写一个 Node 应用程序,它将根据从后端数据库提取的配置生成一组 JMS 队列订阅。初始化后,我将从后端检索当前状态,但随后我需要支持对 Node 服务器的入站 API 调用,以动态添加和远程订阅(然后我将更新存储在后端的列表)。
整个应用程序中必须只有一个可用的订阅数组实例,并且它必须是事实来源。
例子:
在 init 时,我会从 API 得到:
{
"amysCar": {
"name": "2016 Lamborghini Gallardo LP 550-2",
"queue": "/queues/amysracingstats"
},
"bobsCar": {
"name": "1967 Ford Mustang Shelby Shelby GT500",
"queue": "/queues/bobsrestorationproject"
}
}
Run Code Online (Sandbox Code Playgroud)
然后假设鲍勃决定不再想要发布他的修复项目;他将对 Node 服务器进行 API 调用DELETE /projects/bobsCar。我将从队列数组中删除队列侦听器并更新后端数据库。
实际上,我需要能够从多个控制器访问 JMS 队列数组,因为处理 API 调用的控制器与处理队列订阅的控制器是分开的。
我知道单例在 Node 中编写和管理是出了名的困难,令人不悦,而且据说完全没有必要,因为 Node.js 模块缓存据说只加载模块的单个实例。如果这是正确的,我可以简单地将队列订阅数组作为私有对象存储在模块中,然后将require其存储在 API 调用控制器中。
这是真的?我可以利用这个能力来满足我的要求吗?
如果是这样,我将如何覆盖模块的初始化,以便我可以进行初始后端调用来获取当前状态?
我是不是想太多了?
在生产环境中部署 Node.js 服务器时,我们是否必须安装 Node_modules 还是第三方有其他最佳实践?
在客户端中,我们有一个第三方的供应商.js 文件,但我们如何在服务器上执行它?我不想安装大文件夹“nod_modules”机器人来拥有较小的文件/文件夹来包含所有内容。
在服务器上部署节点的最佳实践是什么?
谢谢!
在reactjs中使用https://www.npmjs.com/package/convert-csv-to-json时,我收到错误Uncaught TypeError: fs.readFileSync is not a function
import React, { Component } from 'react'
import { connect } from 'react-redux'
import $ from 'jquery';
export default class CsvRead extends React.Component {
constructor(props) {
super(props);
}
CsvRead() {
let csvToJson = require('convert-csv-to-json');
let json = csvToJson.getJsonFromCsv("../../MonthlySummaryDetailsCSV.csv");
for(let i=0; i<json.length;i++){
console.log(json[i]);
}
}
render() {
return (
<div >{this.CsvRead()}</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我吗?
我已经删除了 npm 和 node。另外,我已经删除并恢复了自制软件。我从在线下载站点下载了 npm 和 node 来恢复它们。我还通过 npm 下载了 angular cli。我通过终端找到我的桌面并输入
ng new mag-board
Run Code Online (Sandbox Code Playgroud)
开始我的角度项目。我被提示以下错误:
Schematic "ng-new" not found in collection "@schematics/angular".
Error: Schematic "ng-new" not found in collection "@schematics/angular".
at SchematicEngine.createSchematic (/usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/schematics/src/engine/engine.js:232:23)
at CollectionImpl.createSchematic (/usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/schematics/src/engine/engine.js:69:29)
at NewCommand.getSchematic (/usr/local/lib/node_modules/@angular/cli/models/schematic-command.js:130:27)
at NewCommand.initialize (/usr/local/lib/node_modules/@angular/cli/models/schematic-command.js:43:36)
at process._tickCallback (internal/process/next_tick.js:68:7)
at Function.Module.runMain (internal/modules/cjs/loader.js:757:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Run Code Online (Sandbox Code Playgroud)
我删除了 npm、删除了节点和我删除了 Angular CLI
我重新安装了 npm、node 和 Angular CLI
我应该能够通过输入 ng new mag-board 生成一个 Angular 项目
我是 ReactNative 的新手,我面临一个问题。请检查以下日志是否相同。我在尝试使用 ReactNative 项目运行时遇到了这个问题
react-native run-android
Run Code Online (Sandbox Code Playgroud)
错误日志:
错误:无法
./index从D:\ReactNativeProject\testing\node_modules\react-native\scripts/.以下位置解析模块:无法从./index中找到模块D:\ReactNativeProject\testing\node_modules\react-native\scripts/.。事实上,这些文件都不存在: *D:\ReactNativeProject\testing\node_modules\react-native\scripts\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)*D:\ReactNativeProject\testing\node_modules\react-native\scripts\index\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)在 ModuleResolver.resolveDependency (D:\ReactNativeProject\testing\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:163:15) 在 ResolutionRequest.resolveDependency (D:\ReactNativeProject\testing\node_modules\metro\src\ node-haste\DependencyGraph\ResolutionRequest.js:52:18) 在 DependencyGraph.resolveDependency (D:\ReactNativeProject\testing\node_modules\metro\src\node-haste\DependencyGraph.js:283:16) 在 D:\ReactNativeProject\ testing\node_modules\metro\src\lib\transformHelpers.js:261:42 在服务器上。(D:\ReactNativeProject\testing\node_modules\metro\src\Server.js:1038:41) at Generator.next () at asyncGeneratorStep (D:\ReactNativeProject\testing\node_modules\metro\src\Server.js:99: 24) 在 _next (D:\ReactNativeProject\testing\node_modules\metro\src\Server.
我做了什么来解决这个问题?
1)。当我在 Github 上找到解决方案时,我尝试了以下命令
react-native start --reset-cache
Run Code Online (Sandbox Code Playgroud)
2)。我试图删除node-module文件夹并重新安装,但仍然没有成功。
反应本机版本: 0.59.2
在寻找在Leaflet.js 中旋转标记的方法时,我找到了模块Leaflet-rotatedmarker。我是通过 npm 安装的,但现在我不知道如何实际使用它。
根据自述文件,它只扩展了现有的Marker类。据我了解,我现在应该可以调用Marker.setRotationAngle(),但该函数不存在。Marker从导入leaflet-rotatedmarker也不起作用。
如何正确导入扩展类或如何使用模块中的功能/属性扩展现有的传单类?谢谢。
我说的是import { XYZ } from 'leaflet-rotatedmarker'声明。
编辑:
如果我尝试rotationAngle在构造函数中设置它,它也不起作用:
const marker = L.marker([tmpAgv.Pos.X, tmpAgv.Pos.Y], { alt: tmpAgv.Id }, {rotationAngle: 180}).addTo(this.mapObject);
Run Code Online (Sandbox Code Playgroud)
标记仍未旋转。
我已经下载/安装了一个 node_module(npm 包)......我在 node_modules 文件夹中使用了内部文件以满足我的需求。将它用作 node_module 对我来说是最方便的,但是我担心下次我更新 npm 包时,它可能会更新并删除我所做的所有更改。确保仅不更新特定包的最佳方法是什么?
非常感谢
假设我刚刚react-native-gifted-chat从 npm安装,我意识到里面有另一个包,我如何访问该uuid包中的包?
这是在我的 node_module 文件夹中:
通常我们只是这样做import ... from 'react-native-gifted-chat',访问包但是如何uuid在react-native-gifted-chat 不安装 uuid包的情况下访问包?
请帮助我不知道发生了什么即时使用以下内容:
"body-parser": "1.19.0",
"express": "4.17.1",
"joi": "17.1.1"
Run Code Online (Sandbox Code Playgroud)
但只有 joi 我有问题
node-modules ×10
node.js ×6
javascript ×3
npm ×3
reactjs ×3
angular ×2
function ×1
graphql ×1
homebrew ×1
joi ×1
leaflet ×1
nodes ×1
npm-install ×1
react-native ×1
singleton ×1
terminal ×1
typescript ×1