node

node

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
javascript/jQuery

javascript/jQuery

一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
MongoDB

MongoDB

MongoDB 是一个基于分布式文件存储的数据库
openstack

openstack

OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。
VUE

VUE

一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。
bootstrap

bootstrap

Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.
HTML

HTML

超文本标记语言,标准通用标记语言下的一个应用。
CSS/SASS/SCSS/Less

CSS/SASS/SCSS/Less

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
PHP

PHP

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执
每天进步一点点

每天进步一点点

乌法把门的各累笑寂静
求职招聘

求职招聘

猎头招聘专用栏目
Python

Python

一种解释型、面向对象、动态数据类型的高级程序设计语言。

http 错误代码表

Nodejslopo1983 发表了文章 • 0 个评论 • 1335 次浏览 • 2017-12-18 12:01 • 来自相关话题

所有 HTTP 状态代码及其定义。?
代码??指示??
2xx??成功??
200??正常;请求已完成。??
201??正常;紧接 POST 命令。??
202??正常;已接受用于处理,但处理尚未完成。??
203??正常;部分信息 — 返回的信息只是一部分。??
204??正常;无响应 — 已接收请求,但不存在要回送的信息。??
3xx??重定向??
301??已移动 — 请求的数据具有新的位置且更改是永久的。??
302??已找到 — 请求的数据临时具有不同 URI。??
303??请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。??
304??未修改 — 未按预期修改文档。??
305??使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。??
306??未使用 — 不再使用;保留此代码以便将来使用。??
4xx??客户机中出现的错误??
400??错误请求 — 请求中有语法问题,或不能满足请求。??
401??未授权 — 未授权客户机访问数据。??
402??需要付款 — 表示计费系统已有效。??
403??禁止 — 即使有授权也不需要访问。??
404??找不到 — 服务器找不到给定的资源;文档不存在。??
407??代理认证请求 — 客户机首先必须使用代理认证自身。??
415??介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。??
5xx??服务器中出现的错误??
500??内部错误 — 因为意外情况,服务器不能完成请求。??
501??未执行 — 服务器不支持请求的工具。??
502??错误网关 — 服务器接收到来自上游服务器的无效响应。??
503??无法获得服务 — 由于临时过载或维护,服务器无法处理请求。
?
--------------------------------------------------------------------------------------------------------
?
HTTP?400?-?请求无效?
HTTP?401.1?-?未授权:登录失败?
HTTP?401.2?-?未授权:服务器配置问题导致登录失败?
HTTP?401.3?-?ACL?禁止访问资源?
HTTP?401.4?-?未授权:授权被筛选器拒绝?
HTTP?401.5?-?未授权:ISAPI?或?CGI?授权失败??
HTTP?403?-?禁止访问?
HTTP?403?-?对?Internet?服务管理器?(HTML)?的访问仅限于?Localhost?
HTTP?403.1?禁止访问:禁止可执行访问?
HTTP?403.2?-?禁止访问:禁止读访问?
HTTP?403.3?-?禁止访问:禁止写访问?
HTTP?403.4?-?禁止访问:要求?SSL?
HTTP?403.5?-?禁止访问:要求?SSL?128?
HTTP?403.6?-?禁止访问:IP?地址被拒绝?
HTTP?403.7?-?禁止访问:要求客户证书?
HTTP?403.8?-?禁止访问:禁止站点访问?
HTTP?403.9?-?禁止访问:连接的用户过多?
HTTP?403.10?-?禁止访问:配置无效?
HTTP?403.11?-?禁止访问:密码更改?
HTTP?403.12?-?禁止访问:映射器拒绝访问?
HTTP?403.13?-?禁止访问:客户证书已被吊销?
HTTP?403.15?-?禁止访问:客户访问许可过多?
HTTP?403.16?-?禁止访问:客户证书不可信或者无效?
HTTP?403.17?-?禁止访问:客户证书已经到期或者尚未生效?
HTTP?404.1?-?无法找到?Web?站点?
HTTP?404?-?无法找到文件?
HTTP?405?-?资源被禁止?
HTTP?406?-?无法接受?
HTTP?407?-?要求代理身份验证?
HTTP?410?-?永远不可用?
HTTP?412?-?先决条件失败?
HTTP?414?-?请求?-?URI?太长?
HTTP?500?-?内部服务器错误?
HTTP?500.100?-?内部服务器错误?-?ASP?错误?
HTTP?500-11?服务器关闭?
HTTP?500-12?应用程序重新启动?
HTTP?500-13?-?服务器太忙?
HTTP?500-14?-?应用程序无效?
HTTP?500-15?-?不允许请求?global.asa?
Error?501?-?未实现?
HTTP?502?-?网关错误? 查看全部
所有 HTTP 状态代码及其定义。?
代码??指示??
2xx??成功??
200??正常;请求已完成。??
201??正常;紧接 POST 命令。??
202??正常;已接受用于处理,但处理尚未完成。??
203??正常;部分信息 — 返回的信息只是一部分。??
204??正常;无响应 — 已接收请求,但不存在要回送的信息。??
3xx??重定向??
301??已移动 — 请求的数据具有新的位置且更改是永久的。??
302??已找到 — 请求的数据临时具有不同 URI。??
303??请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。??
304??未修改 — 未按预期修改文档。??
305??使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。??
306??未使用 — 不再使用;保留此代码以便将来使用。??
4xx??客户机中出现的错误??
400??错误请求 — 请求中有语法问题,或不能满足请求。??
401??未授权 — 未授权客户机访问数据。??
402??需要付款 — 表示计费系统已有效。??
403??禁止 — 即使有授权也不需要访问。??
404??找不到 — 服务器找不到给定的资源;文档不存在。??
407??代理认证请求 — 客户机首先必须使用代理认证自身。??
415??介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。??
5xx??服务器中出现的错误??
500??内部错误 — 因为意外情况,服务器不能完成请求。??
501??未执行 — 服务器不支持请求的工具。??
502??错误网关 — 服务器接收到来自上游服务器的无效响应。??
503??无法获得服务 — 由于临时过载或维护,服务器无法处理请求。
?
--------------------------------------------------------------------------------------------------------
?
HTTP?400?-?请求无效?
HTTP?401.1?-?未授权:登录失败?
HTTP?401.2?-?未授权:服务器配置问题导致登录失败?
HTTP?401.3?-?ACL?禁止访问资源?
HTTP?401.4?-?未授权:授权被筛选器拒绝?
HTTP?401.5?-?未授权:ISAPI?或?CGI?授权失败??
HTTP?403?-?禁止访问?
HTTP?403?-?对?Internet?服务管理器?(HTML)?的访问仅限于?Localhost?
HTTP?403.1?禁止访问:禁止可执行访问?
HTTP?403.2?-?禁止访问:禁止读访问?
HTTP?403.3?-?禁止访问:禁止写访问?
HTTP?403.4?-?禁止访问:要求?SSL?
HTTP?403.5?-?禁止访问:要求?SSL?128?
HTTP?403.6?-?禁止访问:IP?地址被拒绝?
HTTP?403.7?-?禁止访问:要求客户证书?
HTTP?403.8?-?禁止访问:禁止站点访问?
HTTP?403.9?-?禁止访问:连接的用户过多?
HTTP?403.10?-?禁止访问:配置无效?
HTTP?403.11?-?禁止访问:密码更改?
HTTP?403.12?-?禁止访问:映射器拒绝访问?
HTTP?403.13?-?禁止访问:客户证书已被吊销?
HTTP?403.15?-?禁止访问:客户访问许可过多?
HTTP?403.16?-?禁止访问:客户证书不可信或者无效?
HTTP?403.17?-?禁止访问:客户证书已经到期或者尚未生效?
HTTP?404.1?-?无法找到?Web?站点?
HTTP?404?-?无法找到文件?
HTTP?405?-?资源被禁止?
HTTP?406?-?无法接受?
HTTP?407?-?要求代理身份验证?
HTTP?410?-?永远不可用?
HTTP?412?-?先决条件失败?
HTTP?414?-?请求?-?URI?太长?
HTTP?500?-?内部服务器错误?
HTTP?500.100?-?内部服务器错误?-?ASP?错误?
HTTP?500-11?服务器关闭?
HTTP?500-12?应用程序重新启动?
HTTP?500-13?-?服务器太忙?
HTTP?500-14?-?应用程序无效?
HTTP?500-15?-?不允许请求?global.asa?
Error?501?-?未实现?
HTTP?502?-?网关错误?

express express-jwt(token)简单使用案例

Nodejslopo1983 发表了文章 • 0 个评论 • 3386 次浏览 • 2017-10-07 01:02 • 来自相关话题

配置jwt (app.js)var expressJwt = require("express-jwt");
// jwt中间件
app.use(expressJwt({
secret: "yousecret"//加密密钥,可换
}).unless({
path: ["/api/login","/api/addUser","/api/test"]//添加不需要token验证的路由
}));生成token? promise化 dao.query(UserSQL.isName, paramA).then(result => {
user = result[0];
if(cryptPwd(param.password, user.salt)[1] === user.password) {
let authToken = jwt.sign({
name: user.userName,
password: user.password,
group: user.group,
salt: '123'
}, "secret", {
expiresIn: "10 days"
});
res.json({
code: 200,
msg: '登录成功',
token: authToken
});
} else {
res.json({
code: 250,
msg: '用户名或密码不正确'
})
};
}) 查看全部
配置jwt (app.js)
var expressJwt = require("express-jwt");
// jwt中间件
app.use(expressJwt({
secret: "yousecret"//加密密钥,可换
}).unless({
path: ["/api/login","/api/addUser","/api/test"]//添加不需要token验证的路由
}));
生成token? promise化
      dao.query(UserSQL.isName, paramA).then(result => {
user = result[0];
if(cryptPwd(param.password, user.salt)[1] === user.password) {
let authToken = jwt.sign({
name: user.userName,
password: user.password,
group: user.group,
salt: '123'
}, "secret", {
expiresIn: "10 days"
});
res.json({
code: 200,
msg: '登录成功',
token: authToken
});
} else {
res.json({
code: 250,
msg: '用户名或密码不正确'
})
};
})

promise 化mysqljs

Nodejslopo1983 发表了文章 • 0 个评论 • 1508 次浏览 • 2017-10-02 07:02 • 来自相关话题

感谢戏子大爷
// 导入MySQL模块
const mysql = require('mysql');
const dbConfig = require('../db/DBConfig');
// 使用DBConfig.js的配置信息创建一个MySQL连接池
const pool = mysql.createPool(dbConfig.mysql);
module.exports = {
query: function (sql,args = []) {
return new Promise((resolve, reject) => {
// 获取数据库连接
pool.getConnection((err, connection) => {
if (err) {
// 错误返回- 自己可以另外带参数,判断错误类型
reject(err)
} else {
// 执行数据查询
connection.query(sql, args, (err, res) => {
if (err) {
// 错误返回- 自己可以另外带参数,判断错误类型
reject(err)
} else {
// 查询成功
resolve(res);
}
})
}
})
})
}
} 查看全部

感谢戏子大爷


// 导入MySQL模块
const mysql = require('mysql');
const dbConfig = require('../db/DBConfig');
// 使用DBConfig.js的配置信息创建一个MySQL连接池
const pool = mysql.createPool(dbConfig.mysql);
module.exports = {
query: function (sql,args = []) {
return new Promise((resolve, reject) => {
// 获取数据库连接
pool.getConnection((err, connection) => {
if (err) {
// 错误返回- 自己可以另外带参数,判断错误类型
reject(err)
} else {
// 执行数据查询
connection.query(sql, args, (err, res) => {
if (err) {
// 错误返回- 自己可以另外带参数,判断错误类型
reject(err)
} else {
// 查询成功
resolve(res);
}
})
}
})
})
}
}

promise 化 jsonwebtoken

Nodejslopo1983 发表了文章 • 0 个评论 • 1477 次浏览 • 2017-10-02 07:00 • 来自相关话题

const jwt = require('jsonwebtoken')

exports._jwt = jwt

exports.sign = (payload, key, opts) => {
opts = opts || {}
return new Promise((resolve, reject) => {
jwt.sign(payload, key, opts, (err, token) => {
if (err || !token) return reject(err)
resolve(token)
})
})
}

exports.verify = (token, key, opts) => {
opts = opts || {}
return new Promise((resolve, reject) => {
jwt.verify(token, key, opts, (err, verified) => {
if (err) return reject(err)
resolve(verified)
})
})
} 查看全部
const jwt = require('jsonwebtoken')

exports._jwt = jwt

exports.sign = (payload, key, opts) => {
opts = opts || {}
return new Promise((resolve, reject) => {
jwt.sign(payload, key, opts, (err, token) => {
if (err || !token) return reject(err)
resolve(token)
})
})
}

exports.verify = (token, key, opts) => {
opts = opts || {}
return new Promise((resolve, reject) => {
jwt.verify(token, key, opts, (err, verified) => {
if (err) return reject(err)
resolve(verified)
})
})
}

basicSQL

Nodejslopo1983 发表了文章 • 0 个评论 • 1428 次浏览 • 2017-09-28 04:02 • 来自相关话题

module.exports = {
queryAll(db, limit = '') {
return 'SELECT * FROM ' + db + ' limit ' + limit
},
insertAll(db, num) {
return 'INSERT INTO ' + db + ' VALUES ("id",' + Array(num).fill('?').join() + ')'
},
delAll(db, id) {
return 'DELETE FROM ' + db + ' WHERE id=' + id
},
next(db, id, num) {
return 'select * from ' + db + 'where' + id + ' = (select max(' + id + ') from ' + db + ' where ' + id + ' < ' + num + ' )'
},
prev(db, id, num) {
return 'select * from ' + db + 'where' + id + ' = (select min(' + id + ') from ' + db + ' where ' + id + ' > ' + num + ' )'
},
insertOnly(db,num){
return 'insert ignore '+db+ ' VALUES ("id",' + Array(num).fill('?').join() + ')'
}
}
数据库名为dbname,表名table,字段名fieldname.
ALTER TABLE dbname.table ADD UNIQUE (fieldname); 查看全部
module.exports = {
queryAll(db, limit = '') {
return 'SELECT * FROM ' + db + ' limit ' + limit
},
insertAll(db, num) {
return 'INSERT INTO ' + db + ' VALUES ("id",' + Array(num).fill('?').join() + ')'
},
delAll(db, id) {
return 'DELETE FROM ' + db + ' WHERE id=' + id
},
next(db, id, num) {
return 'select * from ' + db + 'where' + id + ' = (select max(' + id + ') from ' + db + ' where ' + id + ' < ' + num + ' )'
},
prev(db, id, num) {
return 'select * from ' + db + 'where' + id + ' = (select min(' + id + ') from ' + db + ' where ' + id + ' > ' + num + ' )'
},
insertOnly(db,num){
return 'insert ignore '+db+ ' VALUES ("id",' + Array(num).fill('?').join() + ')'
}
}

数据库名为dbname,表名table,字段名fieldname.


ALTER TABLE dbname.table ADD UNIQUE (fieldname);

vue-devtools自己编译安装 (通过扩展安装)

VUElopo1983 发表了文章 • 0 个评论 • 1876 次浏览 • 2017-07-29 05:13 • 来自相关话题

vue-devtools 是一款开发vue 应用时不可或缺的超好用的插件,且它提供了多个浏览器的支持!chrome 的应用市场可以直接搜索下载安装,但是您要是打不开应用市场(你能正常的打开算我输)可以使用如下的方法
1.下载源码 源码地址:https://github.com/vuejs/vue-devtools
?
2.进去制定目录 cnpm i -->npm run build
? ?若使用firefox?cnpm i -->npm run run:firefox
?
3.进入shells 目录 修改mainifest.json 中的persistant为true
?
4.chrome->设置->更多工具->扩展程序->勾选开发者模式->加载已解压扩展程序 打开到指定目录确定即可
?
5.git上默认的版本应该很高 下下来直接修改配置即可食用 很好吃的哦
?
6.食用方法不要问我 问我我也不告诉你 呵呵 查看全部

vue-devtools 是一款开发vue 应用时不可或缺的超好用的插件,且它提供了多个浏览器的支持!chrome 的应用市场可以直接搜索下载安装,但是您要是打不开应用市场(你能正常的打开算我输)可以使用如下的方法


1.下载源码 源码地址:https://github.com/vuejs/vue-devtools
?
2.进去制定目录 cnpm i -->npm run build
? ?若使用firefox?cnpm i -->npm run run:firefox
?
3.进入shells 目录 修改mainifest.json 中的persistant为true
?
4.chrome->设置->更多工具->扩展程序->勾选开发者模式->加载已解压扩展程序 打开到指定目录确定即可
?
5.git上默认的版本应该很高 下下来直接修改配置即可食用 很好吃的哦
?
6.食用方法不要问我 问我我也不告诉你 呵呵

本站的VUE 实例中所用到的less 库

CSS/SASS/SCSS/LESSlopo1983 发表了文章 • 0 个评论 • 1928 次浏览 • 2017-06-26 12:59 • 来自相关话题

很多vue 文件里面会出来一个less 基础库 请下载放到assets>lib(可按照你习惯的路径安放 修改路径即可)
下载地址如下?
很多vue 文件里面会出来一个less 基础库 请下载放到assets>lib(可按照你习惯的路径安放 修改路径即可)
下载地址如下?

vue 验证码倒计时(jq vs vue)

VUElopo1983 发表了文章 • 0 个评论 • 1741 次浏览 • 2017-06-26 12:45 • 来自相关话题

短信验证 现在是市面上比较流行的一种验证方式,最近公司的项目有涉及到故整体如下
?
JQ版本
?
jssendMsm: function(wait, objectb) {
var time = wait;
if(time == 0) {
$(objectb).removeAttr("disabled");
$(objectb).text("获取验证码");
$(objectb).removeClass('hidden');
$(objectb).next().addClass('hidden');
time = wait;
} else {
$(objectb).attr("disabled", true);
$(objectb).addClass('hidden');
$(objectb).next().removeClass('hidden').text(time + " s 后重发");
time--;
setTimeout(function() {
qdcms.sendMsm(time, objectb);
}, 1000)
}
}




html<a class="btn btn-black" onclick="qdcms.getcode(60,this)">获取验证码</a>
<span class="btn btn-black disabled hidden"></span>css
VBAdmin-UI
?
预览地址:https://www.tfstock.com.cn/?点击注册按钮
?
?
Vue 实现
?
template<template>
<button class="timerout" :disabled="disabled || time > 0" @click='run'>
{{ text }}
</button>
</template>script<script>
export default {
name: 'timerbtn',
props: {
second: {
type: Number,
default: 60
},
disabled: {
type: Boolean,
default: false
}
},
data: function() {
return {
time: 0
}
},
methods: {
run() {
this.time = this.second;
this.timer();
},
timer() {
if(this.time > 0) {
this.time--;
setTimeout(this.timer, 1000);
}
}
},
computed: {
text() {
return this.time > 0 ? this.time + 's 后重新获取' : '点击获取验证码';
}
},
mounted: function() {

}

}
</script>
style
css ?VBAdmin-UI<style lang="less">
@import (reference) "../../../assets/lib/css.less";
.timerout:disabled {
&,
&:hover,
&:focus {
.bgc(@cbla);
color: @cwh;
}
}
</style>
?
下载地址如下: 查看全部

短信验证 现在是市面上比较流行的一种验证方式,最近公司的项目有涉及到故整体如下


?
JQ版本
?
js
sendMsm: function(wait, objectb) {
var time = wait;
if(time == 0) {
$(objectb).removeAttr("disabled");
$(objectb).text("获取验证码");
$(objectb).removeClass('hidden');
$(objectb).next().addClass('hidden');
time = wait;
} else {
$(objectb).attr("disabled", true);
$(objectb).addClass('hidden');
$(objectb).next().removeClass('hidden').text(time + " s 后重发");
time--;
setTimeout(function() {
qdcms.sendMsm(time, objectb);
}, 1000)
}
}




html
<a class="btn btn-black" onclick="qdcms.getcode(60,this)">获取验证码</a>
<span class="btn btn-black disabled hidden"></span>
css
VBAdmin-UI
?
预览地址:https://www.tfstock.com.cn/?点击注册按钮
?
?
Vue 实现
?
template
<template>
<button class="timerout" :disabled="disabled || time > 0" @click='run'>
{{ text }}
</button>
</template>
script
<script>
export default {
name: 'timerbtn',
props: {
second: {
type: Number,
default: 60
},
disabled: {
type: Boolean,
default: false
}
},
data: function() {
return {
time: 0
}
},
methods: {
run() {
this.time = this.second;
this.timer();
},
timer() {
if(this.time > 0) {
this.time--;
setTimeout(this.timer, 1000);
}
}
},
computed: {
text() {
return this.time > 0 ? this.time + 's 后重新获取' : '点击获取验证码';
}
},
mounted: function() {

}

}
</script>

style
css ?VBAdmin-UI
<style lang="less">
@import (reference) "../../../assets/lib/css.less";
.timerout:disabled {
&,
&:hover,
&:focus {
.bgc(@cbla);
color: @cwh;
}
}
</style>

?
下载地址如下:

vue项目中引用bootstrap 的方法

VUElopo1983 发表了文章 • 0 个评论 • 2215 次浏览 • 2017-06-23 23:22 • 来自相关话题

vue 和 bootstrap 作为前端中 js 和css 框架中的佼佼者 二者结合肯定能蹦出不一样的火花!!
废话不多说 直接上代码
vue 环境搭建
1 环境搭建?http://bsfans.com/wenda/?/article/53
2 Vue-cli 打包?http://bsfans.com/wenda/?/article/54
?
build>webpack.base.conf.jsvar webpack=require('webpack');module.exports里面加入plugins: [
new webpack.ProvidePlugin({
$:"jquery",
jQuery:"jquery",
"windows.jQuery":"jquery"
})
]main.js ?全局引入JQ
(其实这里你应该拒绝的 但是不排除一下吧下改变不了习惯的 )
import $ from 'jquery'
开始引入bootstrap
?
build>webpack.base.conf.js
?alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'assets': path.resolve(__dirname, '../src/assets'),
'jquery': "jquery/src/jquery"
} main.jsimport './assets/css/bootstrap.min.css'
import './assets/js/bootstrap.min'
?
已经打算暂时不使用jq 全心投入mvvm的同学请取消相关jq的配置即可 查看全部

vue 和 bootstrap 作为前端中 js 和css 框架中的佼佼者 二者结合肯定能蹦出不一样的火花!!


废话不多说 直接上代码
vue 环境搭建
1 环境搭建?http://bsfans.com/wenda/?/article/53
2 Vue-cli 打包?http://bsfans.com/wenda/?/article/54
?
build>webpack.base.conf.js
var webpack=require('webpack');
module.exports里面加入
plugins: [ 
new webpack.ProvidePlugin({
$:"jquery",
jQuery:"jquery",
"windows.jQuery":"jquery"
})
]
main.js ?全局引入JQ

(其实这里你应该拒绝的 但是不排除一下吧下改变不了习惯的 )


import $ from 'jquery'

开始引入bootstrap
?
build>webpack.base.conf.js
?
alias: { 
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'assets': path.resolve(__dirname, '../src/assets'),
'jquery': "jquery/src/jquery"
}
main.js
import './assets/css/bootstrap.min.css'
import './assets/js/bootstrap.min'

?
已经打算暂时不使用jq 全心投入mvvm的同学请取消相关jq的配置即可

window.open 被拦截 解决方案

VUElopo1983 发表了文章 • 0 个评论 • 2273 次浏览 • 2017-06-23 22:49 • 来自相关话题

项目中 用axios 请求支付并跳转到支付页面 使用window.open会被chrome 等高级浏览器拦截
网上搜了下 找了一个可行的方案?surePay() {
this.showcontent = true;
let newTab=window.open('about:blank');
api.pay(this.refsend.type,this.refsend.money).then(response => {
if(response.success&&response.data) {
newTab.location.href = 'http://'+response.data
} else {
window.alert("非法操作");
}
});
} 查看全部
项目中 用axios 请求支付并跳转到支付页面 使用window.open会被chrome 等高级浏览器拦截
网上搜了下 找了一个可行的方案?
surePay() {
this.showcontent = true;
let newTab=window.open('about:blank');
api.pay(this.refsend.type,this.refsend.money).then(response => {
if(response.success&&response.data) {
newTab.location.href = 'http://'+response.data
} else {
window.alert("非法操作");
}
});
}