Pipe 开发指南

本贴最后更新于 2150 天前,其中的信息可能已经斗转星移

开发环境

请尽量都使用最新版:

  1. Go
  2. Node.js

获取源码

git clone https://github.com/b3log/pipe.git

将获取到的源码目录放置到 Go 路径下:$GOPATH/src/github.com/b3log/pipe

在 Linux 上可以执行 build.sh 进行自动构建,其他平台可按照下面步骤进行手动构建。

编译后端

go build -i -v

编译管理后台前端

进入 console 目录,然后:

npm install && npm run build
  • 开发环境执行 npm run dev,访问端口为 :3000
  • pipe.json 中 AxiosBaseURL/api 时需启动 ./pipe,为 /mock 时需运行 npm run mock

打包前台主题

进入 theme 目录,然后:

npm install && npm run build
  • 开发环境执行 npm run dev
  • theme/js 和 theme/scss 下为基础方法和样式,可按需引入使用

其他

  • 如果你在开发 Pipe 的过程中碰到问题或者有需求要提,欢迎跟帖,我们会在第一时间回复 😄
  • 如果你想自己开发 Pipe 主题,请参考 Pipe 主题开发指南
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    132 引用 • 1114 回帖 • 125 关注
  • 开发指南
    8 引用 • 759 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1387 回帖 • 284 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    266 引用 • 665 回帖 • 1 关注

相关帖子

29 回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • luckygrass

    有没有 Java 版的

    1 回复
  • 88250 1 赞同

    Solo 嘛。

  • 目前, Pipe 对 node v11 似乎是不兼容的.

    1 回复
  • 88250

    感谢,等有空看看。

  • pipe 打包 成 EXE 的时候,前端的代码 是先构建了,把最终编译后的文件打包进去吗?

    1 回复
  • 88250

    没有打进二进制中。

  • 最新代码必须用 build.sh 编译打包,如果按照 开发文档来,会报错。

    1 回复
  • 88250

    收到,稍后更新文档。

  • lizhuo123

    src\pipe\controller\tagctl.go:49:23: undefined: i18n
    src\pipe\controller\tagctl.go:133:48: undefined: i18n
    我输入命令后,出现这样的错误,请问怎么解决呢

    1 回复
  • 88250

    你好,请确认一下源码目录结构是否为 $GOPATH/src/github.com/b3log/pipe

  • yuchen001

    当我把项目放置到 Go 路径之下,发现了一点问题。
    image.png
    项目没下载的依赖建议标注一下 😂
    这样子有点麻烦。。。

    1 回复
  • 88250

    启用 go modules 会自动下载的

  • sunjvhui

    go mod 使用有步骤吗

    1 回复
  • 88250

    请参考这篇帖子或者搜索 go mod

  • OliverChao

    请问, 我在, 虚拟机上打在 docker, 在本机上访问, 为什么总是出现, localhost:5897? 不应该总是 < 虚拟机 Ip>:5897 吗...怎么用解决呢,,,那条 docker 命令,只能在本机上访问哎, 不能放在外网上...

    1 回复
  • 88250

    修改 --server

  • OliverChao
    该回帖仅作者和楼主可见
  • wuzhihang0

    mysql 语句没有看见,哪位能给个

    1 回复
  • 88250

    orm 库自动生成的

  • uint64
    该回帖仅作者和楼主可见
    1 回复
  • 88250

    你好,按照 LICENSE 即可。

    1 回复
  • uint64
    该回帖仅作者和楼主可见
  • macro0hedge

    pipe.json 中 AxiosBaseURL/api 时需启动 ./pipe,具体启动命令是? npm run api?不懂这块的逻辑,麻烦您方便解答一下吗?感谢

  • macro0hedge

    我用 docker,启动成功后,为什么无法访问呢?

    image.png

    1 回复
  • 88250

    用的是宿主机网络么?

    1 回复
  • 我刚刚试了下用 console 编译出错了:

    ERROR in ./assets/scss/main.scss
    Module build failed (from ./node_modules/extract-css-chunks-webpack-plugin/dist/loader.js):
    ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
    
    @import '~vditor/src/assets/scss/index';
    ^
          File to import not found or unreadable: ~vditor/src/assets/scss/index.
    
    1 回复
  • 这个问题我解决了。去掉了 network=host 改成 -p 5897:5897 并增加了一个 --link=mysql 来帮助 pipe 访问另一个容器 mysql

  • 在 macos 里,--network=host 会出现 5897 端口没有暴露的问题。

  • 这个需要引用 viditor 项目,不过我又出现另外一个错误

    #0 188.1 > pipe@2.1.0 build /go/src/github.com/88250/pipe/theme
    #0 188.1 > gulp
    #0 188.1 
    #0 188.5 { Error: Cannot find module 'sass'
    #0 188.5     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
    
    
请输入回帖内容 ...