如何启动这个 Node.JS 应用程序?

DP_*_*DP_ 6 javascript node.js gruntjs

有一个开源应用程序可以直观地显示两个 BPMN 图之间的差异。

我想看看应用程序在运行时的样子。

如何在 Ubuntu 下启动它?

我试图node app.js在目录bpmn-js-diffing/app 中运行但得到了错误

module.js:341
    throw err;
    ^

Error: Cannot find module 'jquery'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at bpmn-js-diffing/app/app.js:6:11
    at Object.<anonymous> (bpmn-js-diffing/app/app.js:435:3)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
Run Code Online (Sandbox Code Playgroud)

我查看了Gruntfile以寻找“运行”命令,但只找到了这些

grunt.registerTask('test', [ 'karma:single' ]);

grunt.registerTask('auto-test', [ 'karma:unit' ]);

grunt.registerTask('default', [ 'jshint', 'test', 'browserify:standaloneViewer', 'jsdoc' ]);
Run Code Online (Sandbox Code Playgroud)

对我来说,它们看起来像是用于运行自动化测试和生成文档的命令,而不是用于运行实际应用程序的命令。

那么我该如何启动这个应用程序呢?

更新1:npm installbpmn-js-diffing目录中。然后尝试node app.js再次运行(在bpmn-js-diffing/app)目录中。结果如下:

bpmn-js-diffing/app$ node app.js 
module.js:341
    throw err;
    ^

Error: Cannot find module 'bpmn-js-diffing'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at bpmn-js-diffing/app/app.js:9:17
    at Object.<anonymous> (bpmn-js-diffing/app/app.js:435:3)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)

Run Code Online (Sandbox Code Playgroud)

Iva*_*son 5

Node.Js 生态系统的一大组成部分是 NodeJS附带的npm。这就是管理依赖项的方式。许多 NodeJS 程序都会有一个package.json文件来描述关于它们的各种事情,例如它们的依赖关系。通过运行npm installNPM 会查看程序需要哪些包,并自动安装它们。


Ste*_*aud 2

这是运行该应用程序的过程

我终于发现你甚至不需要执行npm install命令来运行这个项目。事实上,该app/bpmn-viewer.js文件将所有必要的模块嵌入到其源映射中。

要显示代码,请打开 Chromium Developer 工具中的“源”选项卡或打开 3.2 MB 文件。最后一行以 开头// # sourceMappingURL =。复制并粘贴浏览器地址栏中data: application / json; base64,行尾 ( ) 的每个字符。XX0 =

安装

$ git clone https://github.com/bpmn-io/bpmn-js-diffing
$ cd bpmn-js-diffing
Run Code Online (Sandbox Code Playgroud)

在端口 7357 上启动本地 HTTP 服务器
不要更改目录,您必须在项目根目录中运行此命令

python -m SimpleHTTPServer 7357
Run Code Online (Sandbox Code Playgroud)

跑步

在浏览器中打开http://127.0.0.1:7357/app/

演示(在 Ubuntu 18.04 上运行)

bpmn-js-diffing 演示

您可以通过从resources/目录加载其他文件来比较它们。

例如,您可以使用任何本地 HTTP 服务器而不是嵌入式 python 服务器live-server
为此,请在项目根目录运行以下命令:

npm install live-server
./node_modules/.bin/live-server
Run Code Online (Sandbox Code Playgroud)

然后浏览到http://127.0.0.1:8080/app(默认端口8080可以更改,运行live-server --help以获取更多信息)