GithubHelp home page GithubHelp logo

bailichen / vue-weixin Goto Github PK

View Code? Open in Web Editor NEW
2.9K 2.9K 817.0 24.76 MB

Vue2 全家桶仿 微信App 项目,支持多人在线聊天和机器人聊天

License: MIT License

JavaScript 27.55% HTML 24.94% Vue 46.55% CSS 0.97%

vue-weixin's Introduction

通知

项目vue+vuex版本已更新版本,只接口图片不加载,不影响初学者学习vue。

更新说明

"vue": "^2.5.2",

"vue-router": "^3.0.1",

"vuex": "^3.1.0"

"webpack": "^4.17.1",

前言

这个项目是利用工作之余写的一个模仿微信app的单页面应用,整个项目包含27个页面,涉及实时群聊,机器人聊天,同学录,朋友圈等等,后续页面还是开发中。写这个项目主要目的是练习和熟悉vue和vuex的配合使用,利用socket.io实现实时聊天。

欢迎各路大神Issues

技术栈

vue2+vue-router+webpack+vuex+scss+svg构图+es6/7

项目运行

git clone https://github.com/bailichen/vue-weixin.git

cd vue-weixin

npm install

npm run start (访问本地,运行后访问 http://localhost:10022)

效果演示

项目演示请点击这里 (请用chrome手机模式预览)

移动端扫描下方二维码

后台代码在这里

后台代码

说明

本项目主要用于熟悉vue2+vuex的用法

如有问题请直接在Issues中提出

如果觉得对您学习vue有点点帮助,请右上角star一下吧 ^_^

目标功能

  • 微信
  • 通讯录
  • 通讯录右边导航功能
  • 发现
  • 设置
  • 新消息提醒
  • 勿扰模式
  • 聊天
  • widows 微信已登录
  • 搜索页
  • 对话页
  • 对话功能
  • 单人机器人智能对话页
  • 群聊
  • 朋友圈
  • 朋友圈点赞、评论
  • 个人中心
  • 详细资料
  • 更多
  • 个人相册
  • 更多
  • 收藏
  • 我的钱包
  • 购物
  • 设置
  • 登录

页面部分截图

单人聊天、群聊

朋友圈

上传图片、点赞

项目布局


├── README.md                                    // webpack配置文件
├── build                                        // 项目打包路径
├── config                                       // 上线项目文件,放在服务器即可正常访问
│   └── index.js
├── favicon.ico
├── index.html
├── package.json
├── printscreen
├── src                                          // 源码目录
│   ├── App.vue                                  // 页面入口文件
│   ├── components                               // 公共组件
│   │   ├── findandMe
│   │   │   └── findandMe.vue                    // 发现和我共同的模块的列表
│   │   ├── footer
│   │   │   └── foot.vue                         // 底部微信导航
│   │   └── header
│   │       └── head.vue                         // 头部公共组件
│   ├── config                                   // 基本配置
│   │   ├── env.js                               // 环境切换配置
│   │   ├── fetch.js                             // 获取数据
│   │   ├── iscroll.js 
│   │   ├── mUtils.js                            // 工具
│   │   ├── rem.js                               // px转换rem
│   │   ├── swiper.min.js                        // 轮播图控件
│   │   └── uploadPreview.js                     // 上传图片控件
│   ├── frames
│   │   ├── addressbook
│   │   │   ├── addressbook.vue                  // 通讯录
│   │   │   └── details
│   │   │       ├── details.vue                  // 详细资料
│   │   │       └── more
│   │   │           └── more.vue                 // 更多
│   │   ├── computer
│   │   │   └── computer.vue                     // pc端登录
│   │   ├── conversation
│   │   │   ├── chatmessage
│   │   │   │   ├── chatmessage.vue              // 单人聊天信息
│   │   │   │   └── groupchatmessage.vue         // 群聊聊天信息
│   │   │   ├── groupchat.vue                    // 群聊
│   │   │   └── singlechat.vue                   // 单人对话
│   │   ├── dialogue
│   │   │   └── dialogue.vue                     // 微信首页(对话列表页)
│   │   ├── find
│   │   │   ├── find.vue                         // 发现
│   │   │   ├── friendcircle
│   │   │   │   └── friendcircle.vue             // 朋友圈
│   │   │   └── miniapps
│   │   │       └── miniapps.vue                 // 小程序子页面
│   │   ├── me
│   │   │   ├── cardbag
│   │   │   │   └── cardbag.vue                  // 卡包
│   │   │   ├── collect
│   │   │   │   └── collect.vue                  // 我的收藏
│   │   │   ├── me.vue
│   │   │   ├── personaldetails
│   │   │   │   └── personaldetails.vue          // 个人信息
│   │   │   ├── photoalbum
│   │   │   │   └── photoalbum.vue               // 我的相册
│   │   │   ├── settings
│   │   │   │   ├── detailset
│   │   │   │   │   ├── aboutwc.vue              // 关于微信
│   │   │   │   │   ├── chat.vue                 // 聊天
│   │   │   │   │   ├── currency.vue             // 通用
│   │   │   │   │   ├── disturbance.vue          // 勿扰模式
│   │   │   │   │   ├── help.vue                 // 帮助与反馈
│   │   │   │   │   ├── login.vue                // 登录
│   │   │   │   │   ├── newmessage.vue           // 新消息提醒
│   │   │   │   │   └── privacy.vue              // 隐私
│   │   │   │   └── settings.vue                 // 设置
│   │   │   └── wallet
│   │   │       └── wallet.vue                   // 我的钱包
│   │   ├── search
│   │       └── search.vue                       // 搜索     
│   ├── images
│   ├── main.js                                  // 程序入口文件,加载各种公共组件
│   ├── router
│   │   └── router.js                           // 所有页面路由控制中心
│   ├── service
│   │   ├── data
│   │   │   ├── album.js                        // 个人相册
│   │   │   ├── burse.js                        // 钱包数据
│   │   │   ├── chatmore.js
│   │   │   ├── collect.js                     // 我的收藏
│   │   │   ├── contacts.js                    // 联系人列表数据
│   │   │   ├── dialoglist.js                  // 对话列表
│   │   │   ├── friendcircle.js                // 朋友圈数据
│   │   │   ├── groupchat.js                   // 群聊数据
│   │   │   ├── login.js                       // 个人用户信息
│   │   │   ├── search.js                      // 搜索的分类
│   │   │   └── userword.js
│   │   └── getData.js                         // 数据交互统一调配
│   ├── style
│   │   ├── public.scss                        // 公共样式
│   │   └── swiper.min.css
│   └── vuex                                   // vuex的状态管理
│       ├── action.js                          // 配置根actions
│       ├── index.js                           // 引用vuex,创建store
│       ├── mutation-types.js                  // 定义常量muations名
│       └── mutation.js                        // 配置根mutations
└── tree.md

36 directories, 133 files

vue-weixin's People

Contributors

bailicangdu avatar bailichen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vue-weixin's Issues

关于右侧快速导航

请问通讯录右侧快速导航点了字母后上移会被拉回定位处是设计这样还是bug

不维护

这么好的项目,不能继续使用,真的是一种可惜啊!心痛。

npm install

这里报了很多的错,没法安装。
image

ReferenceError: io is not defined

ReferenceError: io is not defined
vue-router.esm.js:2316
ReferenceError: io is not defined
at Object../node_modules/_babel-loader@7.1.5@babel-loader/lib/index.js!./node_modules/_vue-loader@15.9.8@vue-loader/lib/index.js?!./src/frames/conversation/groupchat.vue?vue&type=script&lang=js& (groupchat.vue:129:1)
at webpack_require (bootstrap:853:1)
at fn (bootstrap:150:1)
at Module../src/frames/conversation/groupchat.vue?vue&type=script&lang=js& (groupchat.vue?1ae0:1:1)
at webpack_require (bootstrap:853:1)
at fn (bootstrap:150:1)
at Module../src/frames/conversation/groupchat.vue (groupchat.vue:1:1)
at webpack_require (bootstrap:853:1)
at fn (bootstrap:150:1)
at router.js:5:1

应该是因为/socket.io.js 是从服务器拿的 但是这个服务器已经不开了 但是换用了本地的js 还是不行

<script src="js/socket.io.js"></script>

ios 弹起键盘,输入框被遮挡

呼出键盘,输入框被遮挡
均在微信中打开页面
白色手机是 iPhone7 ios11
黑色手机是 iphoneSE ios10

做项目遇到这个问题,在网上搜了各种“完美解决方案”,大多都是获得焦点后、键盘弹起后改变document.body.scrollTop,或者使用scrollIntoView,
但都没有效果,反而在白色手机中情况变得更差(黑色手机打不开我的页面所以没法测试),
不知道大家有没有解决方案?

2-0
2-1

打包后修改配置后本地还是不能访问

config中的index.js 的assetsPublicPath路径改成了assetsPublicPath: './',打包后还是不能本地访问,一定要在服务器上访问吗? 还是其他地方有设置什么?

你好!npm run dev 报错了

ERROR in ./build/dev-client.js
Module build failed: ReferenceError: Unknown plugin "transform-runtime" specified in "D:\VUE2\vue-weixin-master\.babelrc" at 0
, attempted to resolve relative to "D:\VUE2\vue-weixin-master"
at D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\options\option-manager.js:18
0:17
at Array.map (native)
at Function.normalisePlugins (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\o
ptions\option-manager.js:158:20)
at OptionManager.mergeOptions (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file
options\option-manager.js:234:36)
at OptionManager.init (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\options
option-manager.js:368:12)
at File.initOptions (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\index.js:2
12:65)
at new File (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\index.js:135:24)
at Pipeline.transform (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\pipeline.js:4
6:16)
at transpile (D:\VUE2\vue-weixin-master\node_modules._babel-loader@6.4.1@babel-loader\lib\index.js:46:20)
at Object.module.exports (D:\VUE2\vue-weixin-master\node_modules._babel-loader@6.4.1@babel-loader\lib\index.js:163:20)
@ multi app

ERROR in ./src/main.js
Module build failed: ReferenceError: Unknown plugin "transform-runtime" specified in "D:\VUE2\vue-weixin-master\.babelrc" at 0
, attempted to resolve relative to "D:\VUE2\vue-weixin-master"
at D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\options\option-manager.js:18
0:17
at Array.map (native)
at Function.normalisePlugins (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\o
ptions\option-manager.js:158:20)
at OptionManager.mergeOptions (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file
options\option-manager.js:234:36)
at OptionManager.init (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\options
option-manager.js:368:12)
at File.initOptions (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\index.js:2
12:65)
at new File (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\file\index.js:135:24)
at Pipeline.transform (D:\VUE2\vue-weixin-master\node_modules._babel-core@6.26.0@babel-core\lib\transformation\pipeline.js:4
6:16)
at transpile (D:\VUE2\vue-weixin-master\node_modules._babel-loader@6.4.1@babel-loader\lib\index.js:46:20)
at Object.module.exports (D:\VUE2\vue-weixin-master\node_modules._babel-loader@6.4.1@babel-loader\lib\index.js:163:20)
@ multi app

build报错

vue-weixin/src/router/router.js # 模块名写错了
import App from '../APP'
#  改成 
import App from '../App' 

打包后转换 rem 方案

目前代码里是在写的时候用的插件自动转换为 rem 的么。感觉看起来样式代码很乱。
考虑下用 post2rem 在打包的时候处理点好。
代码写成

{
  width: 44px;
}

然后打包后转换为 rem 好点。

这个 rem 自适应方案说起来还蛮久了。其实可以考虑直接用 flex 布局。

代码格式还是有点乱,估计是因为没有用 eslint 吧。

文件组件形式蛮喜欢的

install fail帮忙指点下

                              ^

In file included from ../fsevents.cc:73:
../src/constants.cc:102:11: error: no matching member function for call to
'Set'
object->Set(Nan::Newv8::String("kFSEventStreamEventFlagItemModifie...

/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3547:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                  ^
/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3550:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32...
                                  ^
In file included from ../fsevents.cc:73:
../src/constants.cc:103:11: error: no matching member function for call to
    'Set'
object->Set(Nan::New<v8::String>("kFSEventStreamEventFlagItemFinderI...
~~~~~~~~^~~
/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3547:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                  ^
/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3550:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32...
                                  ^
In file included from ../fsevents.cc:73:
../src/constants.cc:104:11: error: no matching member function for call to
    'Set'
object->Set(Nan::New<v8::String>("kFSEventStreamEventFlagItemChangeO...
~~~~~~~~^~~
/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3547:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                  ^
/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3550:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32...
                                  ^
In file included from ../fsevents.cc:73:
../src/constants.cc:105:11: error: no matching member function for call to
    'Set'
object->Set(Nan::New<v8::String>("kFSEventStreamEventFlagItemXattrMo...
~~~~~~~~^~~
/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3547:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                  ^
/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3550:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32...
                                  ^
In file included from ../fsevents.cc:73:
../src/constants.cc:106:11: error: no matching member function for call to
    'Set'
object->Set(Nan::New<v8::String>("kFSEventStreamEventFlagItemIsFile"...
~~~~~~~~^~~
/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3547:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                  ^
/Users/yanminmin/Library/Caches/node-gyp/13.11.0/include/node/v8.h:3550:37: note:
    candidate function not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32...
                                  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/fse/fsevents.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/usr/local/Cellar/node/13.11.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents/lib/binding/Release/node-v79-darwin-x64/fse.node" "--module_name=fse" "--module_path=/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents/lib/binding/Release/node-v79-darwin-x64" "--napi_version=6" "--node_abi_napi=napi"
gyp ERR! cwd /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents
gyp ERR! node -v v13.11.0
gyp ERR! node-gyp -v v5.0.7
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/Cellar/node/13.11.0/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents/lib/binding/Release/node-v79-darwin-x64/fse.node --module_name=fse --module_path=/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents/lib/binding/Release/node-v79-darwin-x64 --napi_version=6 --node_abi_napi=napi' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:1026:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
node-pre-gyp ERR! System Darwin 18.7.0
node-pre-gyp ERR! command "/usr/local/Cellar/node/13.11.0/bin/node" "/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents
node-pre-gyp ERR! node -v v13.11.0
node-pre-gyp ERR! node-pre-gyp -v v0.10.3
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/Cellar/node/13.11.0/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents/lib/binding/Release/node-v79-darwin-x64/fse.node --module_name=fse --module_path=/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/fsevents/lib/binding/Release/node-v79-darwin-x64 --napi_version=6 --node_abi_napi=napi' (1)

> [email protected] install /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-sass
> node scripts/install.js

Downloading binary from https://npm.taobao.org/mirrors/node-sass/v4.11.0/darwin-x64-79_binding.node
Cannot download "https://npm.taobao.org/mirrors/node-sass/v4.11.0/darwin-x64-79_binding.node":

HTTP error 404 Not Found

Hint: If github.com is not accessible in your location
    try setting a proxy via HTTP_PROXY, e.g.

    export HTTP_PROXY=http://example.com:1234

or configure npm proxy via

    npm config set proxy http://example.com:8080

> [email protected] postinstall /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-sass
> node scripts/build.js

Building: /usr/local/Cellar/node/13.11.0/bin/node /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/usr/local/Cellar/node/13.11.0/bin/node',
gyp verb cli   '/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb download using dist-url https://npm.taobao.org/dist
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:89:16
gyp verb `which` failed     at /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:171:21)
gyp verb `which` failed  python2 Error: not found: python2
gyp verb `which` failed     at getNotFoundError (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:89:16
gyp verb `which` failed     at /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:171:21) {
gyp verb `which` failed   stack: 'Error: not found: python2\n' +
gyp verb `which` failed     '    at getNotFoundError (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:13:12)\n' +
gyp verb `which` failed     '    at F (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:68:19)\n' +
gyp verb `which` failed     '    at E (/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:80:29)\n' +
gyp verb `which` failed     '    at /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/which/which.js:89:16\n' +
gyp verb `which` failed     '    at /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/isexe/index.js:42:5\n' +
gyp verb `which` failed     '    at /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/isexe/mode.js:8:5\n' +
gyp verb `which` failed     '    at FSReqCallback.oncomplete (fs.js:171:21)',
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python /usr/bin/python
gyp verb check python version `/usr/bin/python -c "import sys; print "2.7.16
gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
gyp verb get node dir no --target version specified, falling back to host node version: 13.11.0
gyp verb command install [ '13.11.0' ]
gyp verb download using dist-url https://npm.taobao.org/dist
gyp verb install input version string "13.11.0"
gyp verb install installing version: 13.11.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 13.11.0
gyp verb build dir attempting to create "build" dir: /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-sass/build
gyp verb build dir "build" dir needed to be created? /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-sass/build
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-sass/build/config.gypi
gyp verb config.gypi checking for gypi file: /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-sass/config.gypi
gyp verb common.gypi checking for gypi file: /Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-sass/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args   '/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-sass/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/yanminmin/.node-gyp/13.11.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/yanminmin/.node-gyp/13.11.0',
gyp info spawn args   '-Dnode_gyp_dir=/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/yanminmin/.node-gyp/13.11.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/yanminmin/go/src/github.com/vue-weixin/node_modules/node-sass',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp verb command build []
gyp verb download using dist-url https://npm.taobao.org/dist
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /Users/yanminmin/.node-gyp/13.11.0
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]

关于学习

求问学习方法,我现在感觉技术栈里的东西学的混乱,而且学习的都非常浅,请教下您的学习方法,如果可以分享您的学习资料就更好了,谢谢

项目布局图

你好,请问你的项目布局图使用什么工具做的呢?想学习,谢谢

请教

请问下 你这个项目里的iscroll 是在哪里引用了,是怎么解决 聊天框最底部那个 position:fixed 的问题的呢?

images

请问项目里面的图片是怎么设置的呢?
image

addressbook position

addressbook 滚动到最底部,在点击到别的tab,
返回addressbook不能定位到刚刚的底部位置,
不知可以添加此定位功能吗

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.