前端开发环境搭建以及如何跨域

前端本地开发环境搭建总结:

  1. 安装nodejs环境(推荐6.0以后的LTS版本),安装完之后打开终端(mac平台),windows平台可以 WIN+R 打开运行,输入cmd,打开命令窗口,输入npm --version,如果能看到版本,说明已经安装成功;
  2. 在本地电脑的工作目录下面,执行 "git clone" + gitlab仓库的地址,把项目克隆下来;
  3. 使用编辑器(推荐webstorm或者vs code,功能强大,当然如果有其他熟悉的IDE也可以,前提是熟悉)打开项目,找到node的server文件(一般都是用的express或者koa):

这个时候我们如果想调服务端的接口一般都会遇到跨域加权限的问题,解决办法主要有两种(如果有更好的欢迎提交修改):

  • 一种是直接在起的服务里改写请求url,使用302转发请求,这样每次本地会发两次请求,参考代码如下:

```

var express = require(‘express‘);

var app = express();

var url = require(‘url‘);

var path = require(‘path‘);

function urlRewrite(req, res, next) {
  var inUrl = req.url;
  urlRewriteRule(req, res, next);
  var outUrl = req.url;
  if (inUrl != outUrl) {
    res.redirect(302, outUrl)
  } else {
    next()
  }
}

function urlRewriteRule(req, res, next) {
  var reqUrl = req.url;
  var pathname = url.parse(reqUrl).pathname;

  if (pathname.indexOf(‘/api‘) == 0) {
    obj = url.parse(reqUrl);
    obj.port = 6666;
    req.url = ‘http://6.6.6.6:6666‘ + url.format(obj); //测试环境地址,应用端口
  }
}

//这里就可以写入cookie,返回用户信息,加上ajax请求配置
//下withCredentials带上cookie就可以绕过测试环境的权限校验,
//必须注意的前提是当前的cookie必须已经登陆过测试环境才可以

app.use(urlRewrite);

```

  • 第二种方法是使用反向代理把请求转发,从而绕过跨域问题,以常用的webpack-dev-server为例:

```

module.exports = {

devServer: {

historyApiFallback: true,

contentBase: "./",

quiet: false, //控制台中不输出打包的信息

noInfo: false,

hot: true, //开启热点

inline: true, //开启页面自动刷新

lazy: false, //不启动懒加载

progress: true, //显示打包的进度

watchOptions: {

aggregateTimeout: 300

},

port: ‘8088‘, //设置端口号

//其实很简单的,只要配置这个参数就可以了

proxy: {

‘/api‘:{

target: ‘http://6.6.6.6:6666‘,

changeOrigin: true,

pathRewrite: {

‘^/api‘: ‘/api‘

},

}

}

}

```

上面实例中我们把本地的端口号设置为了8088,如果这个时候接口放在了端口为6666的服务器上,并且我们请求的接口url如下:

```

http://localhost:6666/api

```

这个时候我们就可以匹配到/api,然后转向target设置的目标服务器对应端口;

这时候我们只要在ajax请求的url写上/api/XXX就可以自动匹配到请求。

时间: 2024-11-09 21:04:42

前端开发环境搭建以及如何跨域的相关文章

解决前端开发环境中的的跨域问题

一.为什么会有跨越问题是客户端浏览器同源策略导致的,就是浏览器不允许不同源的站点相互访问.试想一下要是没有这个,那站点里的安全信息如cookie,账号/密码等是不是很容易被其它站点获取.二.解决思路知道是客户端浏览器为了安全使用同源策略导致的,而服务端是没有这个限制的,那我们就只能通过服务端进行跨域了.不管是jsonp,core,还是代理的方式,都是需要服务配合的.哈哈,这也是为啥后端和生产环境下比较少听说跨域的问题,所以这里介绍前端开发环境中的几种解决方法.三.解决方案1.完全交予后端解决,配

Windows 环境下vue+webpack前端开发环境搭建

一.开发环境搭建 1.前端框架一般依赖node.js,我们首先要安装node.js. 2.由于许多npm 的源都在国外的地址,安装起来特别慢,所以我们这里利用淘宝的镜像服务器. 安装命令为:npm install -g cnpm --registry=https://registry.npm.taobao.org 之后回车等待命令 3.接着安装全局的vue-cli脚手架,用于帮助你快速搭建所需的Vue的开发模板框架 $ cnpm install -g vue-cli 回车,等待安装, 安装完成后

前端开发环境搭建

一直以来都或多或少遇到需要Html5,js,php,css之类的来完成某些小的效果,但是基本上没有认真看过,更不知道还有专业开发工具了,不过对于编译语言来讲既然有IDE,相信这种网页语言也不会缺少,知乎和知道告诉我答案了,一个是webstom,要想用好,竟然还得破解,算了,选择国产的吧,发现好评也很多啊,不够实际测试了下,效果还真不错.简单过程记录下 1.hbuilder下载与解压道C根目录,运行即可 2.做首次配置.配置外部服务器,指定localhost 3.配置浏览器,可以chrome没安装

vue-webpack项目本地开发环境设置代理解决跨域问题

前言: 一般跨域问题只要后端配置好的话,是不需要前端做处理的,但也不能保证你遇到的所有后端都能很好的处理这个问题,这个时候可能就需要前端设置代理解决这个问题了. 配置方法: 1. config/index.js proxyTable: { '/api': { target: 'http://192.168.8.8:8080', // 要访问接口的域名 // secure: false, // 如果是https接口,需要配置这个参数 changeOrigin: true, // 如果接口跨域,需要

前端开发环境搭建 Grunt Bower、Requirejs 、 Angular

现在web开发的趋势是前后端分离.前端采用某些js框架,后端采用某些语言提供restful API,两者以json格式进行数据交互. 如果后端采用node.js,则前后端可以使用同一种语言,共享某些可重用的Js代码,并共享构建工具.但很多时候我们可能采用别的语言,如ruby/java/scala等,此时前后端代码基本上是完全独立的.虽然大家都在同一个项目中,但可以分成互相独立的两块,并且前后端通常使用不同的构建工具. 比如当后端使用Scala时,我们会使用sbt进行项目构建,对scala代码进行

前端开发环境搭建 grunt bower、requirejs 、 anjular

现在web开发的趋势是前后端分离.前端采用某些js框架,后端采用某些语言提供restful API,两者以json格式进行数据交互. 如果后端采用node.js,则前后端可以使用同一种语言,共享某些可重用的Js代码,并共享构建工具.但很多时候我们可能采用别的语言,如ruby/java/scala等,此时前后端代码基本上是完全独立的.虽然大家都在同一个项目中,但可以分成互相独立的两块,并且前后端通常使用不同的构建工具. 比如当后端使用Scala时,我们会使用sbt进行项目构建,对scala代码进行

grunt 前端开发环境搭建

1.找管理员(汤严敏)开通gitlab权限 2.下载并安装git工具 3.下载并安装nodejs 4.安装cnpm 5.安装kulor-cli cnpm install -g kulor-cli cnpm install -g grunt-cli cnpm install 6.安装nginx并运行 7.进入到工作目录  运行 grunt 补充如何从远程拉代码,在本地配置环境并运行 1.到https://code.wz-inc.com/找到相对应的项目路径,复制下来, 2.git clone 到本

搭建前端开发环境

采用node + grunt + bower + karma + jasmine搭建前端开发环境.(windows环境为例) 安装开发包的工具:node (安装grunt,bower,karma,karma-jasmine等开发和测试工具包) 构建工具:grunt (合并,代码检查.压缩等,以及可以插件式植入其他task) Js库依赖管理工具:bower (管理开发用到的js.css库,例如:jquery, angular,bootstrap) 测试框架:karma + jasmine 步骤一:

【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过.但是不会熟练使用grunt,那你就真的真的真的out了(三个"真的"重复,表示重点).至于grunt的作用,这里不详细说了,总之你如果做web前端开发,你一定要用grunt.还有一点,它完全免费,没有盗版.既强大又免费的东西,为何不用? 当然了,你如果你能找到更好的替代grunt的其他工