Angular和NodeJS使用参数获取请求url只返回响应对象no组件HTML

我有一个像例如'localhost:3000 / verify / a5d5sd'的URL,我发送到用户的电子邮件,点击这个链接后,我在链接中使用param(a5d5sd)来检查服务器中的一些东西,数据库(MongoDB)并返回一个对象的响应,现在当链接被点击或打开一个新的标签时,我只能看到来自服务器的响应,而不是来自我的Angular 2组件的HTML。 在我的Angular 2路由configuration模块中,我configuration了一个类似的路由 { path: 'verify/:id', component: MyComponent }, 而在这个组件的ngOnInit,我打电话给一个服务方法,使GET HTTP请求与URL像validation/:ID 帕拉姆(:ID)我得到它使用@ angular /路由器的ActivatedRoute,使我可以请求。 为了解决这个问题,我被build议为我的快递使用以下代码: app.use(express.static(path.join(__dirname, 'client/dist'))); app.get('*', function(req, res) { res.sendFile(__dirname + '/client/dist/index.html'); }) 甚至尝试过: app.all('*', function(req, res) { res.sendFile(__dirname + '/client/dist/index.html'); }) 此代码适用于直接导航(在search栏上粘贴URL),并仅刷新POST和PUT请求,但不能与GET请求一起使用,这些请求需要服务器端的响应,当我直接访问URL或刷新页面时,DOM写与服务器响应,但不是HTML,任何帮助将不胜感激。

在mongoose中级联创build/删除集合的好方法

第一个或第二个收集是删除收集的正确方法? 我觉得这是第二个,但第一个更容易使用。 是否可以使用承诺来缓解代码的读取? 第一种方法: beforeEach((done) => { //Before each test we empty the database //Remove Roles Role.remove({}, (err) => {}); //Remove Users User.remove({}, (err) => {}); // Remove Workouts Workout.remove({}, (err) => {}); // Create user Role.create({"name" : "Administrator"},(err, adminRole) => { User.create({ firstname : "***", businessId: "1", lastname : "***", email : "***", roles:[adminRole]}, […]

NodeJS – SQL Server连接已closures

我试图从SQL Server调用注册存储过程。 我正在使用mssql包的mssql 。 我从mssql Npm文档中获得了大部分代码。 但它仍然不起作用。 代码基本上试图启动一个ConnectionPool作为读取的最后一个更新,重命名ConnectionPool ,创build一个新的请求,引入参数并执行存储过程。 我这样做是因为我需要偶尔将连接variables更改为另一个数据库。 我得到的错误是: ConnectionError:连接已closures。 我的代码: const sql = require('mssql'); const config = require('../config/dbPoly'); module.exports.registerUser = function(pUserName, pPassword, pNombre, pApellidos, pFK_TipoUsuario, callback) { var connection = new sql.ConnectionPool(config); var request = new sql.Request(connection); request.input('input_parameter', sql.VARCHAR(25), pUserName); request.input('input_parameter', sql.VARCHAR(16), pPassword); request.input('input_parameter', sql.VARCHAR(25), pNombre); request.input('input_parameter', sql.VARCHAR(50), pApellidos); request.input('input_parameter', sql.Int, pFK_TipoUsuario); […]

我如何从全局函数声明一个数组?

我想从全局函数声明一个数组,以便我的其他函数也可以使用它,但我不知道如何,因为我使用了一个csvtojson转换器,使整个事情很长,并想知道如果这是申报还是不申请? JS: //require the csvtojson converter class var Converter = require("csvtojson").Converter; // create a new converter object var converter = new Converter({}); var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost:27017/myproject'; // call the fromFile function which takes in the path to your // csv file as well as a callback function var JSarray = converter.fromFile("./NTA-SAM-Inventory-List-Security- […]

在Node.js中导入React throws SyntaxError:意外的令牌导出

我试图用Node.js和React实现SSR,按照这个例子https://github.com/babel/example-node-server的build议,在官方的Babel文档中这里http://babeljs.io/docs/usage / CLI /#巴别节点 为了开发,我使用了babel-node ; 为了生产,我想用babel来传递我的服务器并运行它: 的package.json "scripts": { "start": "node ./dist/server/index.js", "dev:server": "nodemon ./src/server/index.js -x babel-node", "build:server": "babel ./src/server -d ./dist/server –copy-files -s inline" }, "babel": { "presets": [ "env", "react", "stage-2" ], "plugins": [ "transform-decorators-legacy" ] } 服务器使用ES6语法编写: SRC /服务器/ index.js import 'babel-polyfill' import './config' import Express from 'express' import bootstrap from […]

Knex从多个表中select

我想用knex运行下面的SQL: select * from ( (select * from foo) union all (select * from bar)) as biz limit 10 offset 20; 有没有办法做到这一点没有knex.raw ?

如何在node.js中创build对象的数组

我的课堂是这样的: var Coin = { _id: null, createGame: function(id) { this._id = id; }, start: function() { } }; 我试图创build一个对象的数组,但我只能创build一个。 有人能告诉我做错了什么吗? 我创build这样的数组: CoinArray = []; CoinArray['123'] = new Coin.createGame(123); CoinArray['333'] = new Coin.createGame(333); CoinArray['333'].start 最后我想要有对象的数组,例如我会采取数组的第一个EL,并执行从硬币类的其他方法。

NodeJS&Express身份validation中间件无法正常运行

我试图运行函数isUserAuthenticated每个请求到服务器通过要求它在app.js和'使用'它是这样的: app.use(authenticate.isUserAuthenticated) 。 我有一个/authenticatecallback路由,由我们的SAML身份提供商POSTED,其中包含validation用户和会话所需的信息。 这是我的authenticate.js文件中的内容: module.exports = router; module.exports.isUserAuthenticated = function(req, res, next) { console.log(req.cookies.subject); if (req.cookies.subject) { console.log(req.cookies.subject) return next(); } res.redirect("LINK TO IDP FOR VERIFICATION, callback func. is then ran to get value of user and session"); } 正如所引用的,这个authentication函数在app.js需要和使用: authenticate = require('./routes/authenticate')和app.use(authenticate.isUserAuthenticated) 。 问题:无论if语句的哪个变体validation请求中是否存在主题cookie,身份validation检查都不会被触发,redirect到IDP身份validation路由也不会被redirect。 上面的代码中的console.log检查正在返回: undefined和{} 。 当我使用isUserAuthenticated函数像这样: router.use('/', isUserAuthenticated, function(req, res, next) […]

无法通过Docker中的node.js连接到MongoDB

我的node.js express应用程序无法连接到Docker中的MongoDB。 我不熟悉Docker。 node.js连接: import mongodb from 'mongodb'; … mongodb.MongoClient.connect('mongodb://localhost:27017', … ); Dockerfile: FROM node:argon RUN mkdir /app WORKDIR /app COPY package.json /app RUN npm install COPY . /app EXPOSE 3000 CMD ["npm", "start"] 泊坞窗,compose.yml version: “2” services: web: build: . volumes: — ./:/app ports: — “3000:3000” links: — mongo mongo: image: mongo ports: — […]

无法使用Cheerio获取iframe

您好,我正在试图从wathfree.to获得一个iframe。 这是我用于这个目的的代码: function getSecondBody(url2) { url2 = 'http://www.watchfree.to/watch-366-Forrest-Gump-movie-online-free-putlocker.html'; request(url2, function(err, resp, body) { var $ = cheerio.load(body); var embedcode = $('.links_left_container'); embedcodetext2 = embedcode.html(); console.log(embedcodetext2); return embedcodetext2; }); } 但返回的响应不包含我需要的iframe。 这是我收到的回应: 而实际的页面如下所示: 我的回复中只有iframe部分丢失。