weex踩坑之旅第一弹 ~ 搭建具备入口文件的weex脚手架

写在前面的话:vue

注意!该文档是2017年年末的文章,那个时候weex还有不少问题,如今weex已经全面更新,文档也比较全。下面的讲解可能不太适应新的weex框架,后面我会再立贴讲解。谢谢各位关注。

weex官方文档不完善,在整个实施过程当中遇到过不少坑,中途几回想放弃,老是有些不甘心。攻坚克难,总也是会有一些收获,先将收获进行分享也或是记录,防止忘记。要想用好weex必须对es5/es6基础,vue体系,打包工具webpack有较深的了解;对ios,android有了解。

官方提供的weex脚手架不能指定入口文件,若是咱们想要在项目中使用vuex,vue-router,没有入口文件将会变得比较复杂。那么该如何搭建具备入口文件的脚手架呢?首先,咱们先把官方提供的脚手架使用一下,而后再其基础上进行修改node

一. 初始化weex项目android

$ weex init helloweex

clipboard.png
二. 安装依赖包webpack

$ cd helloweex
$ npm install
或者可使用淘宝镜像安装
$ cnpm install

**注意!若是使用npm安装依赖,建议先手动建立node_modules目录再进行安装,避免后期出现权限不足的问题**

clipboard.png
三. 在浏览器中进行测试ios

注意!在浏览器中显示成功并不意味着在本地就能够显示成功!由于这是两个不一样的执行环境。
$ npm run serve

clipboard.png
四. 此时会遇到第一个坑es6

clipboard.png

缘由:

clipboard.png

https://www.npmjs.com/package/uglifyjs-webpack-plugin
   
解决方案:
1)安装 uglifyjs-webpack-plugin
    $ cnpm i -D uglifyjs-webpack-plugin
2) 应用
    const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
    module.exports = {
      plugins: [
        new UglifyJsPlugin()
      ]
    }

clipboard.png

3) 从新部署,再也不报错!

clipboard.png

五. 模拟器上运行web

若是以前步骤能够完成,只能说明当前代码在浏览器上能够执行,能不能本地运行还须要再进行测试。要想本地测试必须安装模拟器(ios或android),本文章不提供具体的安装过程,若有须要,请自行查看其它文章。
本章以ios环境为例进行测试
依次执行以下命令
1) 安装ios平台
    $ weex platform add ios

clipboard.png

2) 安装依赖
    $ cd platforms/ios
    $ pod install

clipboard.png

3) 运行
    $ cd ../..
    $ weex run ios (次过程较慢,需等待一会)
4) 选择运行环境后启动模拟器

clipboard.png

clipboard.png

六. 编写代码vue-router

查看webpack.config.js得知会,该脚手架会根据src下vue文件产生一个对应的.js文件存放到demo目录下,可是传统的vue开发,咱们都但愿有个入口文件(main.js或者entry.js),而后在该文件中导入其余模块,进行页面的整体配置等操做。

clipboard.png
那么,咱们应该如何使得当前项目具备入口文件呢?答案是只能修改webpack.config.js文件。vuex

1)添加入口文件配置

clipboard.png

2) 删除多余配置信息
删除getEntryFileContent函数
删除walk函数
删除walk() walk函数的调用

clipboard.png

3) 在src目录下添加主vue,App.vue

clipboard.png

4) 在src目录下添加入口文件entry.js,而且删除temp目录

clipboard.png

5) 在浏览器中进行测试
    $ npm run serve

clipboard.png

6) 在ios模拟器上进行测试
    $ weex run ios

clipboard.png

7) 若是发现打包后的文件不叫index.js能够修改webpack.config.js

clipboard.png

8)解决页面没法覆盖整个屏幕的问题
须要在原生代码中进行简单的修改

clipboard.png

clipboard.png

相关文章
相关标签/搜索