当为一个npm模块使用一个私有的git url时,如何configuration消费应用程序只使用模块的dist文件夹中的文件?

我为我的angular应用程序使用angular-cli,但由于angular-cli目前不支持用于创build库,我使用了看似最广泛使用的git项目来创build我的库: https : //github.com/jvandemo/发电机angular2库 我的问题是,我不想将我的npm模块库发布到公共目录。 相反,我想直接在我的依赖中使用git url。 在开发过程中,这工作正常。 我可以在本地运行构build并在“dist”文件夹内运行一个npm链接,并且所有内容都是漂亮的。 然而,当我把我的npm模块代码git,然后在消费项目中运行一个npm安装,我不知道如何设置它,以便我的消费项目只是看在模块的dist文件夹内,并将其视为如果这是模块的根源。 例如,在node_modules / my_private_module中,我的文件结构如下所示: dist/ — component1 — compoennt2 — my_module.metadata.json — my_module.d.ts — my_module.umd.js — index.d.ts — index.js — package.json — README.MD package.json README.md 我的应用程序使用的所有文件都在/ dist文件夹中,但我不想在所有的导入中指定“dist”,如 import { myComponent1 } from 'my_private_module/dist'; 我想能够只是指定 import { myComponent } from 'my_private_module"; 正如我在开发时,在dist文件夹中运行一个npm链接。 有什么办法可以做到这一点? 谢谢

为什么string的utf8编码会给出返回值不变的string

我的代码如下所示: let createCipher = (req, res) => { const text = req.body.text; let hash = crypto.createHash('md5').update(utf8.encode(text)).digest('hex'); res.json({ status: '200', data: hash, utf: utf8.encode(text) }); } 在这里,无论我给文本input参数,同样会在响应字段utf中返回。 那么utf8过程中有什么缺失?

获取(关联)Mongoose模型的数组

你可以像这样检索一个Mongoose模型: 让用户= mongoose.model('用户'); 我正在寻找获得这些模型的关联数组。 有没有一些聪明的方法来获取使用对象解构的模型列表? 就像是: const {User, Employees, Managers} = mongoose.model('x'); 我目前的解决scheme是这样做的: /project /models index.js 其中index.js看起来像: module.exports = { User: require('./user'), Employee: require('./employee'), Manager: require('./manager'), }; user.js,employee.js和manager.js文件看起来像这样: let mongoose = require('mongoose'); let Schema = mongoose.Schema; let userSchema = new Schema({…}); module.exports = mongoose.model('User', userSchema, 'users'); 然后我可以这样做: const {User, Employees, Managers} = require('./models'); 但是我正在寻找一个更好的解决scheme,如果可能的话,不需要手动工作。

儿童杂项模式的数据库devise

我想知道保持数据库尽可能整洁的最佳做法。 数据库是由express.js / node访问的postgresql。 这是一个孩子应用程序,我正在工作,它有以下架构: CHILDREN id name points rate created_at updated_at user_id TASKS id description value days (boolean array – eg. [0,0,0,0,0,0,0]) periods (boolean array – eg. [0,0]) created_at updated_at user_id FINISHED TASKS id task_id child_id completed (boolean) created_at updated_at period (boolean) day (int (0-6)) 对于每个完成的任务,在数据库中创build一行。 只有400个孩子在那里做家务,每天已经有大约800行被添加到FINISHED TASKS表格。 我有两个问题: 是否有一个更有效的方式来存储完成的FINISHED TASKS ,每个孩子或类似的一整天? 随着规模,我将最终每天可能成千上万的行 – […]

Nodejs:使用add.post时无法获得路由

我是Node的初学者,我正尝试用Mongo(mlab),express和nodejs创build一个多页面应用程序。 我试图导航到页面addUser需要POST请求。 但我不断收到错误 不能GET / addUser 当我使用add.post它。 不过,当我使用add.get时,它确实有效 这里是app.js var express = require('express'); var mongoose = require('mongoose'); var bodyParser = require('body-parser'); var cors = require('cors'); var path = require('path'); const MongoClient = require('mongodb').MongoClient; var app = express(); app.set('view engine', 'ejs') const port = 3000; MongoClient.connect('mongodb://<user>:<password>@ds111882.mlab.com:11882/serene-brushlands-55292-db', function(err, database) { if(err) return console.log(err); db = database app.listen(port, […]

如何将Docker容器端口暴露给另一个容器

我有一个docker集装箱,依靠selenium作为链接服务(也是docker集装箱)。 这个docker集装箱只是使用selenium服务作为主机来运行nightwatchJStesting无头。 selenium服务启动正常,但是当夜间testing试图在docker集装箱内运行时,我在selenium服务端口(4444)上收到拒绝的连接错误。 我可以使用curl访问此端口的selenium主机,也可以运行它的夜间testing,如果我不通过docker运行testing。 这里是我的docker撰写yaml文件: services: selenium: image: selenium/standalone-chrome ports: – "4444:4444" nightwatch: build: . volumes: – .:/home/client_test links: – selenium environment: selenium: 4444 expose: – "4444" 和我的docker文件: # #Nightwatch.js Dockerfile # FROM alpine:3.4 WORKDIR /home/client-tests ADD . /home/client-tests/ ENV NODE_PATH=/home/client-app/node_modules #RUN apk add 'firefox-esr<45.6.0-r0' #install firefox #RUN wget -c http://ftp.mozilla.org/pub/firefox/releases/45.8.0esr/firefox-45.8.0esr.linux-x86_64.sdk.tar.bz2 -P /usr/local #RUN tar […]

多命令shell AS分离subprocessWITH spawn()IN Node.js

供参考: https : //nodejs.org/api/child_process.html#child_process_options_detached 大家好, 所以我需要spawn一个subprocess,由于exec不允许options.detached & child.unref(); ,这意味着它可以与父母分离,允许孩子在自己的父母上运行和完成,反之亦然父母(在我们的特定情况下,父母的过程可以在长期的孩子之前死亡,在这种情况下,更新是完成而不需要像exec那样等待孩子)。 我们有一个由节点(父)应用程序构build的长连接("… ; … ; …")命令,但像spawn("echo stuff >>stderr.log")不起作用,只有spawn('ls', [-l]) ,我显然不能链接命令(因为它在文档中也被引用,并在SO上多次引用。 TLDR; 我们需要使用spawn ,但spawn不能处理链式shell命令。 我现在真的需要在bash中编写我的命令,然后执行它,这是否是唯一的select? 谢谢

Crypto JS:TripleDES不能正确encryption

当使用crypto js tripleDESencryption时,我注意到所有要encryption的string长度都很小,例如“01”,“111”,“20”,但是如“5000021234567890000”这样的长string,输出不正确,是不是我期待的价值。 例如对于这个“5000021234567890000” ,我期待这个: “HctDaKc / U9avOwZMSS5mEi62kfojDHA4”,但我得到这个,而不是: HctDaKc / U9bNnFy6eZHqHj3SemorJxQM 。 这是我find并用于encryption的代码 let key = CryptoJS.MD5(enckey); key.words[4] = key.words[0]; key.words[5] = key.words[1]; let iv = CryptoJS.lib.WordArray.create(64/8); CryptoJS.TripleDES.encrypt("5000021234567890000", key, {iv: iv}); 您的帮助将非常感激。

Nodejs使用表单中的数据为单个条目快速查询mongolab

我是一个Nodejs新手,并试图使用来自表单条目的数据在我的MongoDB数据库中search条目(我知道存在)。 这是我的代码: var express = require('express'); var mongoose = require('mongoose'); var bodyParser = require('body-parser'); var cors = require('cors'); var path = require('path'); const MongoClient = require('mongodb').MongoClient; var app = express(); app.set('view engine', 'ejs') const port = 3000; MongoClient.connect('mongodb://<user>:<password>@ds111882.mlab.com:11882/serene-brushlands-55292-db', function(err, database) { if(err) return console.log(err); db = database app.listen(port, function() { console.log('Server started at port:'+port); }); […]

存储来自twitter api的数据javascript(nodejs)

我似乎有一个问题。 我试图导出数据从Twitter的API,但我不能。 这是我的代码看起来像: /// Twitter.js module.exports = Twitter function Twitter(twitter) { this.twitter = twitter } Twitter.prototype.friends = function(params) { this.twitter.get('friends/list', params, (err, data) => { if (err) console.log(err) console.log(data) // this prints data to the console but // I want to export and save in a data structure // array or object } } ///bot.js […]