文档章节

在Linux下开发微信小程序

小水熊
 小水熊
发布于 2016/12/27 16:45
字数 577
阅读 1116
收藏 8

微信小程序开发工具是用nw.js实现的,这玩意本来就可以跨平台的。搞不懂为什么微信只出了windows和mac版。今天我捣腾了一下,可以在linux下开发微信小程序了。以ubuntu为例:

首先要安装nwjs sdk环境,因为需要devtool的支援, 一定要安装sdk版本。

下载nwjs sdk压缩包之后解压放到你喜欢的位置,并且设置环境变量,nw可执行文件加入到path变量中。

接下来要去提取微信小程序开发工具的package.nw文件,这是nwjs的项目包文件。找个window机器安装一下小程序开发工具,在安装目录里找到package.nw文件夹,将文件夹拷贝到linux系统下。按理来说,进入这个文件夹nw .就可以运行了,但是你会发现报错了,因为腾讯的开发者在项目的文件引用中大小写不分,能在windows上运行,linux下就不行。知道了原因,我们就将引用错误的地方修正。在package.nw目录下执行:

sed -i 's/\.\/Create\/create\.js/\.\/create\/create\.js/ig' app/dist/components/ContainController.js
sed -i 's/\.\/main\.js/\.\/Main\.js/ig' app/dist/components/ContainController.js
sed -i 's/\.\/webview\/Picker/\.\/webview\/picker/ig' app/dist/components/simulator/controller.js
sed -i 's/\.\/webview\/ActionSheet\.js/\.\/webview\/actionSheet\.js/ig' app/dist/components/simulator/controller.js
sed -i 's/appServiceConfig\.js/appserviceConfig\.js/ig' app/dist/common/assdk/networkSdk.js

执行完成之后进入目录:

nw .

可以正常打开小程序开发工具了,如果打开的时候提示“failed to load...”错误提示是因为图标文件无法加载的原因。你可以编辑一下package.json里面的"icon": "app/images/logo2.png"为其他ico文件或者直接删掉这一行即可。

时间有限,目前我只进行到这一步。不知道在编码和调试的过程中会不会出现其他问题。有兴趣的码友可以加QQ群3239305一起探讨。

 

补充:然并卵,运行时会报错。主要原因也是腾讯的码农在代码里硬编码了两个windows和mac的参数,并且若干地方使用了中文导致linux下出问题。希望有时间的码友继续推进后面的问题解决。

© 著作权归作者所有

小水熊

小水熊

粉丝 68
博文 61
码字总数 41633
作品 1
静安
架构师
私信 提问
加载中

评论(3)

shitalpig
shitalpig
腾讯不出有他的道理
eechen
eechen
腾讯这家公司从来就不待见Linux桌面,我一点也不感到意外.
柳兵
柳兵
亲测可用,谢谢老大。
在运行nw .之前需要npm install。
我本地还需要单独安装几个模块:
npm install --save autoprefixer
npm install --save pretty
npm install --save perfectionist
小程序云应用入门实操系列课程回顾及总结

专家介绍 白宦成 - Linux 中国开发组组长,阿里云MVP;CSDN专家 ,在 GitChat 平台上开设了《一学就会的 WordPress 实战课》达人课;自由职业者,曾就职于网易杭州研究院。 个人小程序作品:...

赤儒
04/28
0
0
分享几个微信小程序开发框架和工具

###【小程序开发框架】 1、官方框架MINA 小程序提供的开发框架为MINA框架,它类似于淘宝Weex、Vue框架。MINA框架通过封装微信客户端提供的文件系统、网络通信、任务管理、数据安全等基础功能...

codeGoogle
2018/04/18
0
0
Python 的开源 Web 系统 - OSRoom

OSRoom —— 开源 Web 系统 OSROOM基于Flask + Mongodb3.4+ Redis开发。目前只在Ubuntu 14.04, 16.04测试过,其余Linux发行版还未测试。 可用于搭建(开发)个人网站,企业官网,微信小程序后...

我叫送小孩
2018/05/14
24.7K
17
最新发布的BookStack v2.0,功能类似Gitbook和看云的文档写作系统

BookStack,分享知识,共享智慧!知识,因分享,传承久远! BookStack 是基于 Mindoc、使用Go语言的Beego框架开发的功能类似GitBook和看云的在线文档管理系统,实现了文档采集、导入、电子书...

linux-tao
08/30
34
0
前端资源系列(3)-微信小程序开发资源汇总

微信(小程序or应用号)开发资源汇总-文档-工具-教程-代码-插件-组件 文档 从搭建一个微信小程序开始 小程序开发文档 小程序设计指南 工具 小程序开发者工具 - 官方 Egret Wing 3.2.x 支持微信...

xzavier
2018/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ERC-777以太坊新代币标准解读

ERC777是一个新的高级代币标准,可以视为ERC20的升级版本,因此它解决了ERC20以及ERC223存在的一些问题,开发者可以根据自己的具体需求进行选型。 1、使用ERC820进行合约注册 有别于ERC20的自...

汇智网教程
58分钟前
4
0
代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
14
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部