在React Redux中从package.json获取版本号

编辑:如果有其他人遇到这个,应用程序创build使用create-react-app ,它限制导入到src文件夹内,但是如果你升级react-scripts到v1.0.11它可以让你访问package.json。 我试图从我的应用程序中获取package.json的版本号。 我已经尝试了这些build议 ,但没有人工作,因为我不能从src文件夹外部访问package.json(可能是由于React,我是新来的)。 将package.json移动到src中意味着我不能运行npm install , npm version minor和npm run build从我的根文件夹npm run build 。 我已经尝试使用process.env.npm_package_version但导致未定义。 我正在使用Jenkins,我还没有设置它来推动提交,但我唯一的想法是从GitLab中的标签获取版本,但我不知道如何做到这一点,会增加不必要的依赖回购,所以我真的想find一个替代品。 编辑:我的文件结构是这样的: –> RootAppFolder |–> build |–> node_modules |–> public |–> src |–> Components |–> Root.js | |–> package.json 所以要从Root.js访问package.json,我必须import packageJson from './../../package.json' ,然后出现以下错误: ./src/components/Root.js 找不到模块:您试图导入不在src /目录下的./../../package.json文件。 src /之外的相对导入不受支持。 您可以在src /中移动它,或者从项目的node_modules /中为它添加一个符号链接。

为什么基于“DATE”的“WHERE”子句失败?

我正在使用node.js连接到SQL数据库(特别是SQL Server 2016)。 我的表,名为transactionCounts,具有以下表和数据types: staff_id: varchar(50), date: Date, count: int; 为了清楚起见,“date”字段只是一个date,而不是date时间。 logging看起来像这样:“2017-08-07” 我正在使用mssql包, const sql = require('mssql'); 所以基本上,我有一个函数接受开始date和结束date,并与他们做这个: function(start, end) { let ps = new sql.PreparedStatement(transactionRegisterSqlPool); ps.input('start', sql.Date); ps.input('end', sql.Date); ps.prepare('SELECT staff_id, SUM(Count) TotalCount FROM [TransactionRegister].[dbo].[transactionCounts] ' + 'WHERE date >= @start AND date < @end GROUP BY staff_id', err => { .execute({start: start, end: […]

打字稿导出对象错误声明或预期的语句

有人可以解释为什么这个工作在input对象时打字稿: export const config={ port:4000 }; 这也适用: const config = { port:4000 }; export { config }; 但是这给了一个错误 const config={ port:4000 }; export config; 错误:预期声明或声明。

从redditurl获取原始url

考虑以下链接: https://www.reddit.com/r/todayilearned/comments/6x6iz8/til_princess_diana_on_live_tv_shook_the_hand_of/?ref=share&ref_source=link : https://www.reddit.com/r/todayilearned/comments/6x6iz8/til_princess_diana_on_live_tv_shook_the_hand_of/?ref=share&ref_source=link link 原来的样子是 http://www.bbc.com/news/av/magazine-39490507/how-princess-diana-changed-attitudes-to-aids 使用Javascript,我怎么能从第一个链接到原始链接,而不使用Reddit API?

摩卡忽略了一些testing,尽pipe它们应该运行

我正在重构我的express-decorator NPM包的克隆。 这包括重构先前使用AVA进行的unit testing 。 我决定使用Mocha和Chai来重写它们,因为我喜欢他们定义testing的方式。 那么,我的问题是什么? 看看这个代码(我把它分解来说明问题): test('express', (t) => { @web.basePath('/test') class Test { @web.get('/foo/:id') foo(request, response) { /* The test in question. */ t.is(parseInt(request.params.id), 5); response.send(); } } let app = express(); let controller = new Test(); web.register(app, controller); t.plan(1); return supertest(app) .get('/test/foo/5') .expect(200); }); 此代码工作 。 这里(基本上)是相同的代码,现在使用Mocha和Chai和多个testing : describe('The test express […]

使用JSON API序列化器来创build更复杂的JSON

这里的例子在解释如何生成一个更复杂的结构方面还不够… 如果我想结束这样的事情: { "data": { "type": "mobile_screens", "id": "1", "attributes": { "title": "Watch" }, "relationships": { "mobile_screen_components": { "data": [ { "id": "1_1", "type": "mobile_screen_components" }, { "id": "1_2", "type": "mobile_screen_components" }, … ] } } }, "included": [ { "id": "1_1", "type": "mobile_screen_components", "attributes": { "title": "Featured Playlist", "display_type": "shelf" }, "relationships": { "playlist": […]

节点红色:在节点之间共享数据

我正在尝试共享我的节点fucntions之间的数据抛出使用上下文对象,但似乎在这个版本中,它不工作: My node version: 0.10.40 My node red version: 0.11.1 我无法更新节点或节点的红色版本,因为我在multitech mconduit网关中使用embedded式的..所以我坚持这个版本。 我尝试了下面的context.set("AE", AE) ,我得到了TypeError: Object [object Object] has no method 'set' 和global.set('AE',AE) ,我得到了ReferenceError: global is not defined (line 7, col 1) 任何想法如何在这个旧版本的节点之间共享数据? 谢谢,最好的问候,

如何从Microsoft Bot Framework发送短信(使用Twilio频道)?

目前我的机器人在Facebook Messenger上,由员工使用。 我想让我的机器人发送一条短信给一个人,欢迎他/她join我们的团队,并凭借其凭据。 我知道Microsoft Bot Framework集成了Twilio,所以我整合了Twilio频道,如下所示: https ://docs.microsoft.com/en-us/bot-framework/channel-connect-twilio,所以我有一个电话,一切都很好configuration,因为我可以手动发送短信(从Twilio的仪表板),它的工作原理。 问题是我现在不知道如何使用它。 const confirmPerson = (session, results) => { try { if (results.response && session.userData.required) { // Here I want to send SMS session.endDialog('SMS sent ! (TODO)'); } else { session.endDialog('SMS cancelled !'); } } catch (e) { console.error(e); session.endDialog('I had a problem while sending SMS :/'); } […]

我怎样才能执行一个接一个的查询并处理这些数据?

我有一个app.get,将返回客户数据和客户购买。 在这个app.get内部,我需要运行两个mysql调用,并build立一个数组传回来。 我怎样才能执行一个接一个的查询并处理这些数据? app.get('/customer', function (req,res) { var response1 = []; var response2 = []; var processedData = []; connection.query('QUERY HERE', function(err, rows, fields) { if (!err){ response.push({rows}); } else { res.status(400).send(err); } }); //for loop 'response' results and perform another query for (var i = 0; i < response1.length; i++) { var row = […]

在express-validator v4的检查function中访问请求主体

我刚开始使用express.js和express-validator来validation一些input数据,并且在版本4.0.0中引入的新的检查API中访问请求主体时遇到问题。 在较旧的版本中,您只需在body-parser后面的app.js中添加express-validator作为中间件: // ./app.js const bodyParser = require("body-parser"); const expressValidator = require("express-validator"); const index = require("./routes/index"); const app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(expressValidator()); 然后在我的索引路线中,我可以检查post方法的最终callback函数中的字段。 // ./routes/index.js const express = require("express"); const router = express.Router(); router.post("/submit", (req, res, next) => { // check email req.check('email','Invalid email address').isEmail() // check if password is equal […]