安装forever
npm install forever -g
,express
npm install express -g
express-generator
npm install express-generator -g
安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装puppeteer
npm i puppeteer --save
软连接,相当于全局变量
ln -s /home/nodejs/node10/bin/npm /usr/local/bin/
ln -s /home/nodejs/node10/bin/node /usr/local/bin/
ln -s /home/nodejs/node10/bin/cnpm /usr/local/bin/
ln -s /home/nodejs/node10/bin/forever /usr/local/bin/
ln -s /home/nodejs/node10/bin/express /usr/local/bin/
安装依赖
sudo yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 nss.x86_64 -y
centos7 puppeteer截图部分中文乱码,解决方法
yum -y groupinstall Fonts
npm安装puppeteer报错权限问题可以用
npm config set unsafe-perm true
npm i puppeteer
或者用
cnpm i puppeteer
forever启动后端,前端放在public文件夹
启动的js 配置静态文件夹为public
nodejs是后端!!!
nodejs是后端!!!
nodejs是后端!!!
用express,生成,将静态文件放在public,启动js用下面的,
然后forever start xx.js
如果启动时报错 --no-sandbox之类错误,一个是启动args配置,安装报错下面的md地址解决,去掉多余的参数
查看用forever list 会回显日志地址
demo
var express=require('express');
var app =express();
var bodyParser = require('body-parser');
var shot=require('./screenshot.js')
//引用bodyParser 这个不要忘了写
app.use(express.static('public'))
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
//设置跨域访问
app.all("*",function(req,res,next){
//设置允许跨域的域名,*代表允许任意域名跨域
res.header("Access-Control-Allow-Origin","*");
//允许的header类型
res.header("Access-Control-Allow-Headers","content-type");
//跨域允许的请求方式
res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");
if (req.method.toLowerCase() == 'options')
res.send(200); //让options尝试请求快速结束
else
next();
});
var questions=[
{
data:213,
num:444,
age:12
},
{
data:456,
num:678,
age:13
}];
app.get('/',function(req,res){
res.sendfile('public/index.html') ;
console.log('index page is required ');
}) ;
app.post('/hi',function(req,res){
console.log("hi!");
})
//写个接口123
app.get('/123',function(req,res){
res.status(200),
res.json(questions)
});
app.post('/wdltest',function(req,res){
console.log(req.stack);
console.log(req.body);
console.log(req.url);
console.log(req.query);
res.json(req.body)
})
app.get('/screenshot',function(req,res){
promise=shot(req.query.url)
promise.then(function (data) {
console.log(data)
let result={
code:200,
msg:'success',
data:{
url:data,
name:data.split('/')[2]
}
}
res.json(result)
})
})
//配置服务端口
var server = app.listen(65004, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
})