赞
踩
本教程面向需要有二次开发的同学,主要是面向前端UI开发(本人使用MAC环境搭建),windows应该类似
组织目录结构
demo
— nodejs
— sdkjs
— web-apps
— proxy.js
下载DocumentServer Docker环境 安装教程 && 启动方式 http://helpcenter.onlyoffice.com/installation/docs-developer-install-docker.aspx
不清楚的同学可以执行下面的命令,使用最新的6.1.1版本
sudo docker run -i -t -d -p 80:80 --restart=always onlyoffice/documentserver:6.1.1
安装完后查看镜像是否启动,访问
http://127.0.0.1/weclcome/ 访问正常的同学可以打开这样的界面
然后按文档在终端里分别执行上面的两个脚本
执行完后点击here,会进入到 创建文档的界面
这时候docker的onlyoffice服务已经可以跑起来了。
..... // grunt.loadNpmTasks('grunt-contrib-imagemin'); .... // imagemin: { // options: { // optimizationLevel: 3 // }, // dynamic: { // files: [] // .concat(packageFile['main']['imagemin']['images-app']) // .concat(packageFile['main']['imagemin']['images-common']) // } // }, ... grunt.registerTask('deploy-app-main', ['prebuild-icons-sprite', 'main-app-init', 'clean:prebuild', // 'imagemin', 'less',
这里注释是因为会报错,具体原因尚没了解清楚
进入 nodejs-example/config/default.json
修改 siteUrl: 为 127.0.0.1:9000
const express = require('express'); const { createProxyMiddleware } = require('http-proxy-middleware'); const internalIp = require('internal-ip'); // 在需要的地方require const app = express(); (async () => { const ip = await internalIp.v4(); // const proxyUrl = `http://${ip}/6.1.0-83/` // 根据docker 服务端版本更新 const proxyUrl = `http://${ip}/6.1.1-53/` app.use('/doc', createProxyMiddleware({ target: proxyUrl, changeOrigin: true })); // 字体文件 + 字体图片代理 app.use('/fonts', createProxyMiddleware({ target: `http://127.0.0.1`, changeOrigin: true })); app.use('/sdkjs/common/AllFonts.js', createProxyMiddleware({ target: `http://127.0.0.1/`, changeOrigin: true })); app.use('/sdkjs/common/Images/fonts_thumbnail@2x.png', createProxyMiddleware({ target: `http://127.0.0.1/`, changeOrigin: true })); // 部分文件提前代理 app.use(express.static('demo')); })() app.listen(9000);
进入docker 修改 nginx 配置,因为会涉及到服务接口跨域问题
在docker里找到 在 /etc/nginx/includes/ds-docservice.conf, 将一个 fonts 一个 cache/files 增加跨域头,并重启nginx -s reload
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
官网:https://www.onlyoffice.com/
开发文档:https://api.onlyoffice.com/
github地址: https://github.com/ONLYOFFICE/DocumentServer
解决: 浏览器访问不能以localhost,127.0.0.1来直接访问,需要输入你完整的地址(例如:192.168.0.xx:8090/…),不然无法打开在线编辑功能
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。