Articles of 前端

如何将用户redirect到需要访问令牌的页面,而不在URL查询中显示令牌

我试图实现一种只允许授权pipe理员在我的Web App / API中访问包含敏感信息的页面的方法。 我目前正在使用Node.JS和Express来处理路由。 使用Jade / Pug View Engine生成视图。 使用github上的请求框架处理CORS请求。 ( https://github.com/request/request ) 目前,客户端存储在一个MongoDB集合中。 当他们input他们的login信息时,他们的密码与存储在数据库中的哈希进行比较。 如果所有内容都检出,则为用户生成一个JWT并保存在客户端数据库中,并存储在浏览器的localStorage.token 。 然后用户被redirect到具有authenticationfunction的初始页面作为中间件。 身份validationfunction以三种forms接受令牌: var token = req.body.token || req.query.token || req.headers['x-access-token']; 我觉得redirect的处理方式有点怪异。 我正在使用window.location = route?token = [token] 令牌被移交给req.query.token中的authenticationfunction,但是这在URL中被公开。 这是我的loginfunction: function submitLogIn() { var credentials = { email: logInForm.userEmail.value, password: logInForm.pwField.value } fetch('/login', { headers:{ 'Content-Type': 'application/json' }, method: […]

angular度,帆布局问题

我一直在尝试在我的sails应用程序中使用angular度路由,如下所示: angular.module('SignupController',['ngRoute']) .controller('SignupCtrl',function($scope,$http,$location){ $scope.create = function(name,encryptedPassword){ $http.post('/user/create/',{name:name,encryptedPassword:encryptedPassword}).success(function(response){ console.log(response); //$location.path("/user/new"); }); }; }).config(['$routeProvider', function($routeProvider) { $routeProvider.when('/view1', {templateUrl: 'views/tst.html', controller: 'SignupCtrl'}); $routeProvider.otherwise({redirectTo: '/homepage'}); }]); 所以我期望在访问/ view1时在tst.html上redirect,但是我得到了一个404。 我是新来的angular,所以这个代码有什么不对吗? 我基于我的代码在这个例子https://docs.angularjs.org/api/ngRoute/service/ $ route#example

rails node_modules冗余文件

我是新的节点,因此npm或模块化的JavaScript。 当我使用browserify-rails gem时,在运行npm intall ,我意识到node_modules文件夹下已经有一个完整的github repo文件。 因为我只需要开发的源码,示例文件夹和那些额外的文件是必要的? 我可以删除这些文件吗? 部署时,这些文件也会上传吗?

为什么我的npm需要几个小时来安装依赖关系?

我必须开始一个web项目的那一天,我感到畏缩。 我使用yeoman和gulp-angular发生器来设置我的工作stream程。 没有一次npm install成功,没有失败一次。 另外,在平均互联网连接上,需要3-4个小时才能完成一个项目。 这不是打败了工具的全部目的吗? 我最终花费的时间比没有npm 。 还为每个项目安装类似的软件包(〜120MB的膨胀)。 我知道有npm_lazy和caching等工具,但这些只是使前端工具比现在更复杂。 是什么让npm如此低效呢?

如何在HamlJS中的文本之前添加空格

我需要在“注册”之前添加一个简单的空格来在图标和文本之间留出一个空格。 %a{ href: "#" } %i.fa.fa-user Sign Up 是否存在一个添加空格的过程,而Haml编译器不会像缩进那样识别它? 我正在用visionmedia / haml.js编译器使用gulp-haml。

如何findgulp.dest()中父目录的path?

我是Gulp的新来者,当我尝试将我的文件输出到他们父母的path时,我得到了股票。 我的目录是这样的: app/page_a/less/a.less app/page_a/css 我的目标是: app/page_a/less/a.less app/page_a/css/a.css 这是我在做什么: 我使用**是因为我想匹配我所有的page_ *模块。 gulp.task('test', function () { var files = ['./app/**/*.less']; return gulp.src(files, { base: '.' // Now the base url becomes where the *.less is. }) .pipe(less()) .pipe(gulp.dest('.')); }); 我的结果:(这显然是错误:() app/page_a/less/a.less app/page_a/less/a.css app/page_a/css 那么我怎样才能输出*.css到相应的app/page_*/csspath?

从PHP启动节点似乎保持PHP运行?

所以开始我build立一个NodeJS应用程序,与网站的前端一起工作。 这是build立的,我想要的是通过PHP启动它。 所以你可以点击保存,然后启动它,如果需要的话。 该应用程序是一个websocket服务器,并将监听一个websocket并处理来自客户端(我的网站的前端)的数据/命令。 现在我用来启动它的代码如下: $command = '/usr/local/bin/node main.js & echo $!'; $processid = shell_exec($command); 但由于某种原因,当我点击保存在前端它只是挂起,并继续加载…但在页面上什么也没有显示? 它创build了我可以看到的过程: lsof -i tcp:8000 和该页面只停止加载时,我杀了该节点正在运行的进程… 我在用: kill -9 <pid> 杀了它。 所以我有点失落,为什么它不在后台运行,然后完成PHP脚本…它只是挂在它? 任何帮助,将不胜感激。 有一点需要注意的是,这一切都是从命令行运行良好,所以文件是一个单独的启动类,如果我通过PHP运行它,并添加一些代码来执行任务它的作品,只有当我从别的什么我调用它有问题吗? 如果有帮助 网站使用的架构是Joomla 3.x,预先感谢。 我在MacBook Air El Capitan上,也需要在Linux CentOS上工作

为什么webpack仍然生成旧的目录包文件?

我有一个简单的应用程序使用webpack来编译我的js有一个入口点为./src/app.js和输出为./public/dist/app.bundle.js 。 以前输出目录是 ./dist/app.bundle.js 在webpack –watch模式下,我对src代码做了一些修改,它会生成旧path./dist/app.bundle.js这个文件以及到新目录? 请告诉什么是错的 webpack.config.js var path = require("path"); module.exports = { entry: path.resolve(__dirname, "./src/app.js"), output: { path: path.resolve(__dirname), filename: "./public/dist/app.bundle.js", publicPath: "/public/", } }; npm -v 3.10.10 node -v v6.10.2 webpack:3.10.0

从node.js后端控制前端javascript

我正在构build一个聊天应用程序,我想要求用户input他们的用户名。 JQuery前端代码将表单滑入视图(就绪),将数据存储到variables中,然后加载聊天(当按下input键或button时)。 在服务器端validation用户input之前,如何停止该animation? 我使用node.js作为后端。 有任何想法吗? 提前致谢! 前端jQuery: var nameChoice, roomChoice; //to store user input var initName = function() { nameChoice = $("#init-name input").val(); //save chosen name in nameChoice $("#current-name").text("Username: " + nameChoice); //put chosen name in chat header $("#init-name").animate( {"left" : "-35%"}, 300, function() { $(this).addClass("hidden"); $("#init-room").removeClass("hidden"); $("#init-room").animate({"left" : "35%"}, 300); }); //remove name form […]

通过我的前端页面html中的button启动或编译Js文件

我有一个js文件batch.js为我做一个批量插入,但我必须从我的terminal: node batch.js启动它。 现在,我想在我的前端html页面上创build一个button,并通过button启动我的文件。