刘德华来找我 發表於 2024-2-1 00:00:00

微信小程序 Linux开发环境设置详解

<p>
        <strong>微信小程序 Linux开发环境</strong></p>
<p>
        微信小程序开发工具是用nw.js实现的,这玩意本来就可以跨平台的。搞不懂为什么微信只出了windows和mac版。今天我捣腾了一下,可以在linux下开发微信小程序了。以ubuntu为例:</p>
<p>
        首先要安装nwjs sdk环境,因为需要devtool的支援, 一定要安装sdk版本。</p>
<p>
        下载nwjs sdk压缩包之后解压放到你喜欢的位置,并且设置环境变量,nw可执行文件加入到path变量中。</p>
<p>
        接下来要去提取微信小程序开发工具的package.nw文件,这是nwjs的项目包文件。找个window机器安装一下小程序开发工具,在安装目录里找到package.nw文件夹,将文件夹拷贝到linux系统下。按理来说,进入这个文件夹nw .就可以运行了,但是你会发现报错了,因为腾讯的开发者在项目的文件引用中大小写不分,能在windows上运行,linux下就不行。知道了原因,我们就将引用错误的地方修正。在package.nw目录下执行:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_710175">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">sed</code> <code class="bash plain">-i </code><code class="bash string">'s/./Create/create.js/./create/create.js/ig'</code> <code class="bash plain">app</code><code class="bash plain">/dist/components/ContainController</code><code class="bash plain">.js</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">sed</code> <code class="bash plain">-i </code><code class="bash string">'s/./main.js/./Main.js/ig'</code> <code class="bash plain">app</code><code class="bash plain">/dist/components/ContainController</code><code class="bash plain">.js</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">sed</code> <code class="bash plain">-i </code><code class="bash string">'s/./webview/Picker/./webview/picker/ig'</code> <code class="bash plain">app</code><code class="bash plain">/dist/components/simulator/controller</code><code class="bash plain">.js</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">sed</code> <code class="bash plain">-i </code><code class="bash string">'s/./webview/ActionSheet.js/./webview/actionSheet.js/ig'</code> <code class="bash plain">app</code><code class="bash plain">/dist/components/simulator/controller</code><code class="bash plain">.js</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">sed</code> <code class="bash plain">-i </code><code class="bash string">'s/appServiceConfig.js/appserviceConfig.js/ig'</code> <code class="bash plain">app</code><code class="bash plain">/dist/common/assdk/networkSdk</code><code class="bash plain">.js</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        执行完成之后进入目录:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_121176">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">nw .</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        可以正常打开小程序开发工具了,如果打开的时候提示“failed to load...”错误提示是因为图标文件无法加载的原因。你可以编辑一下package.json里面的"icon": "app/images/logo2.png"为其他ico文件或者直接删掉这一行即可。</p>
<p>
        <strong>补充:</strong></p>
<p>
        在运行nw .之前需要npm install。</p>
<p>
        我本地还需要单独安装几个模块:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_663081">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">npm </code><code class="bash functions">install</code> <code class="bash plain">--save autoprefixer</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">npm </code><code class="bash functions">install</code> <code class="bash plain">--save pretty</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">npm </code><code class="bash functions">install</code> <code class="bash plain">--save perfectionist</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!</p>
<p>
        原文链接:https://my.oschina.net/waterbear/blog/813028</p>
頁: [1]
查看完整版本: 微信小程序 Linux开发环境设置详解