小编Dut*_*evv的帖子

将JSON文件包含在构建/输出目录中而不导入

也许标题有点奇怪,但我似乎无法在谷歌上找到任何关于.

问题:我有一个只包含.ts文件和.json文件的文件夹.. Typescript编译.ts文件并将其放入一个单独的目录(不是作为一个包,只是目录结构'as-is').

Src /

   工作人员/

       [ModuleA.ts,ModuleA.json],

       [ModuleB.ts,ModuleB.json],

       [MobuleC.ts,ModuleC.json]

大多数时候我只需要('*.json'),JSON文件也会放在build目录中.

但现在我有一种情况,导入JSON没有任何意义,因为JSON文件每隔几秒就会更新一次,我用fs.readFile('*.json')读取文件,所以我也不想要它在v8缓存中漂浮(通过require)

那么如何在构建中"包含"一个JSON/None-Typescript文件,而不是通过require或import明确导入?


现在我只是使用gulp将src文件夹中的每个.json文件复制到相应的dist/**文件夹中.

但仍然发现奇怪的打字稿没有包含的东西..

json typescript tsconfig

9
推荐指数
1
解决办法
1694
查看次数

Emscripten - cmake - 在CMakeList文件中传递emscripten选项

如何使用emcmake cmake和传递emscripten命令行选项?

相当新的c ++/CMake,但在谷歌上找不到任何有用的东西.所以也许问题只是愚蠢,在这种情况下我道歉.

我可以使用以下CMakeList.txt文件构建我的项目(非webassembly /普通桌面)

cmake_minimum_required(VERSION 3.7)
project(Engine)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
set(CMAKE_INCLUDE_PATH /usr/local/include)
set(SOURCE_FILES main.cpp src/Background.cpp src/Background.h src/Camera.cpp src/Chart.cpp src/Chart.h src/logger.cpp src/Engine.cpp src/Engine.h src/GL.cpp src/GL.h src/Instrument.cpp src/Instrument.h)
set(EMCC_LINKER_FLAGS "-s SAFE_HEAP=1 --bind -s WASM=1 -O3 -o ../index.js -s LEGACY_GL_EMULATION=0  -s GL_UNSAFE_OPTS=0 --pre-js pre-module.js --post-js post-module.js -s ASSERTIONS=1 -s GL_ASSERTIONS=1 -s INVOKE_RUN=0  -std=c++11 -s USE_WEBGL2=1 -s FULL_ES3=1 -s USE_GLFW=3 -s OFFSCREENCANVAS_SUPPORT=1 --preload-file shaders --preload-file extern --use-preload-plugins")
set(CMAKE_REQUIRED_FLAGS "${EMCC_LINKER_FLAGS}")

find_package(OPENGL REQUIRED)
find_package(GLEW REQUIRED)
#find_package(SDL2 REQUIRED)
find_package(glfw3 REQUIRED)
find_package(assimp …
Run Code Online (Sandbox Code Playgroud)

c++ cmake emscripten webassembly

8
推荐指数
1
解决办法
4660
查看次数

查找日期范围数组中的“漏洞”(间隙)

假设您有一系列日期范围

var arr = [
  {
    "from": 'unix 1st of august',
    "until": 'unix 5th of august'
  },
  {
    "from": 'unix 15th of august',
    "until": 'unix 20th of august'
  },
  {
    "from": 'unix 25th of august',
    "until": 'unix 31th of august'
  }
];
Run Code Online (Sandbox Code Playgroud)

在时间范围内找到“漏洞”的最简单方法是什么?在这种情况下,第 5 日到 15 日以及第 20 日到 25 日缺失。

function findDateRangeHoles() {
  let chunks = [];

  arr.forEach(range => {
     // ??
     chunks.push({from: '?', until: '?'});
  });

  // Return value example, array of object, each holding a missing date …
Run Code Online (Sandbox Code Playgroud)

javascript date momentjs

6
推荐指数
1
解决办法
4153
查看次数

WebAssembly 和 OpenGL - 单一上下文,多输出(到画布)

(OpenGL / Emscripten 新手)

对于我正在构建的股票交易客户端应用程序,需要 40 多个打开的图表。其中大约 50% 处于某种“自由绘制”状态,这意味着它们显示烛台以及其他线条/箭头/图像等。

在过去几个月尝试了很多选择之后,这就是结果。

  • HighCharts:简单但缓慢;
  • CanvasJS:更快但还不够快
  • WebAssembly + OpenGL:快了很多,但工作量很大(仍然值得)

我引导单个 WebAssembly 应用程序实例,并在其上调用函数以让 C++ 创建带有 OpenGL 的图表,该图表映射到 WebGL(2)。一切正常。

我选择 (WebAssembly + OpenGL) -> Emscripten 的原因是因为有很多数字运算,而且 C++ 也很适合这项工作:)

问题是 WebGL 在 Chrome(59) 中的上下文限制约为 10。因此,拥有 40-100 个 WebGL 上下文(图表)并不是一个聪明的主意,而且我的胆量告诉我,拥有如此多的上下文几乎总是作为静态图像输出是对 OpenGL 资源的浪费,除非您滚动图表等。

有没有人有将单个 OpenGL 上下文渲染到随机画布元素(或任何其他元素,并不重要)的良好经验?

我的想法如下:

  1. 在另一个线程中使用屏幕外画布启动 c++ OpenGL, https://github.com/OleksandrChekhovskyi/emscripten-offscreen-canvas-test/blob/master/main.c#L35
  2. Javascript 告诉 C++ 渲染图形
  3. 通过共享 Uint8Array 与 JS 共享/渲染 OpenGL 后台缓冲区... SharedArrayBuffers 在 JS 工作线程中由 C++ 填充,主(渲染)线程仅读取/转换将图像写入画布/html 元素。

我似乎没有任何其他方式可以不创建许多 OpenGL 上下文。

问题是:这样做的性能如何,并且基本上将 OpenGL 缓冲区复制到 Javascript 等?它离轨道很远吗?

谢谢 …

javascript opengl emscripten asm.js webassembly

6
推荐指数
1
解决办法
3227
查看次数

服务器之间的websocket通信

我在Stackoverflow上阅读了很多内容,但经过一周的思考和研究,我遇到了困难......

所以我真的要问:)

希望我正确解释问题,如果没有,请说出来!

问题是简单的.我需要2个服务器......服务器A - 除了每15分钟填充一个数据库之外什么都不做,而服务器B用服务器A处理数据.

很容易让服务器B对数据进行http请求,但我真正想要的是服务器B在更新数据库数据时从服务器A获得"套接字更新".

问题是:服务器B并不总是在同一个URL上....所以数据库服务器不能简单地执行get/post请求,因为它不会总是知道它的url.

这就是为什么我希望,服务器B可以启动与数据库服务器的socket.io连接.保持线路对服务器A开放,以便服务器A可以通过已建立的套接字连接响应其新的数据库数据... .

所以基本上......是否有可能在2台服务器之间有一个共同的socket.io连接..就像客户端之间的服务器一样???

真的感谢!!!

更新:清理一下.

我有一个股票数据库..它从交易API获取所有数据,每15分钟一次.这台服务器绝对不能停止!它可能,但它很烦人,导致数据不一致......

我有另一个脚本,它将一直在开发中.它对来自数据库服务器的数据进行计算.所以它偶尔会有(dev)错误等等.这个脚本不应该停止'数据库自动收录器'脚本......所以我想把它们彼此分开运行.这就是为什么我需要有2台服务器相互连接..

我的数据库是从一个固定的URL运行..但我的开发脚本取决于我目前开发的位置..

也许有一种更好的解决方案,我想要达到的目标......?

sockets websocket node.js

5
推荐指数
1
解决办法
8996
查看次数

NPM 本地模块 - 使用“host package.json”中的 npm install 时不会安装依赖项

在链接之前已经问过许多相同的问题,但没有一个给出可靠的答案或者非常过时,所以只是再问一次。

我有一个package.json本地 npm 模块:

{
  "dependencies": {
    "local_module": "file:..pathtomodule"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我运行npm i主机包时,会安装本地模块,但不会安装 local_module 中的模块。所以我必须npm i为 local_module 单独运行。

我究竟做错了什么??不就是一个模块吗??

PS 为什么我的问题得到了减号?请解释一下,以便我可以改进

提前致谢

node.js npm

5
推荐指数
1
解决办法
1092
查看次数

Emscripten OpenGL (3) 给出版本错误

OS X - 铬。

我是 OpenGL / emscripten 的新手,并试图设置一个使用 WebGL 2、OpenGL 3+ 并通过 emscripten 构建到 webassembly 的简单脚本。

编译 WebGL 1 / OpenGL 2 没有问题。并将画布设置为 WebGL 2 / OpenGL 3 似乎也有效。当我检查正在运行的当前版本时,它会通知我关于 OpenGL 3.0 和 WebGL2(但也许它没有使用它......?)。

但是,emcc 仍然尖叫着关于着色器的错误,我给出的着色器仅与 3.0+ 版本兼容,从而暗示我正在运行 openGL 1/2 ?

通过 emscripten 设置新的上下文

EmscriptenWebGLContextAttributes ctxAttrs;
emscripten_webgl_init_context_attributes(&ctxAttrs);
ctxAttrs.alpha = GL_TRUE;
ctxAttrs.depth = GL_TRUE;
ctxAttrs.stencil = GL_TRUE;
ctxAttrs.antialias = 4;
ctxAttrs.premultipliedAlpha = false;
ctxAttrs.preserveDrawingBuffer = false;
ctxAttrs.minorVersion = 0;
ctxAttrs.majorVersion = 2; // WebGL2

this->context = emscripten_webgl_create_context(0, &ctxAttrs);
assert(this->context > 0); …
Run Code Online (Sandbox Code Playgroud)

javascript c++ emscripten webgl2

1
推荐指数
1
解决办法
1651
查看次数