Weex-Toolkit
Weex-Toolkit 主要用于快速构建 weex 的项目并且开发和调试。
-
Weex-Toolkit 安装:
npm install -g weex-toolkit
-
由于 Weex 项目需要 webpack 来打包,所以我们也可以直接全局安装。
npm install -g webpack
-
创建项目
weex init projectName
-
运行项目
npm install // 添加依赖 npm run dev // 启动编译,能够自动捕获更新的文件 npm run serve // 启动轻量服务器
使用 weex-devtools 调试
调试的时候需要 Playground 客户端来协助,下面是调试的几个步骤:
-
在项目中利用 weex-toolkit 的命令,将项目的 vue 或者 we 生成一个二维码。
weex debug xxx.vue/xxx.we
-
打开 Playground 扫描生成的二维码,弹出如下界面即可开始调试:
Weexpack
Weexpack 主要用于快速搭建三端项目,并且打包。还没完善,未来可能会合并到 Weex-Toolkit 中。
-
Weexpack 安装:
npm install -g weexpack
-
创建项目
weexpack create projectName
-
添加原生项目
weexpack platform add ios/android
-
打包项目
weexpack build ios/android/web
-
运行项目
weexpack run ios/android/web
自己创建
我们可以根据 webpack 和 npm 自己来创建简单的 weex 的项目。
-
新建一个 package.json 文件,并且编写内容如下:
{ "name": "weex", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "webpack", "dev": "webpack --watch", "serve": "serve -p 8080", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "babel-core": "^6.18.0", "babel-loader": "^6.2.5", "babel-plugin-transform-runtime": "^6.15.0", "babel-preset-es2015": "^6.14.0", "babel-runtime": "^6.11.6", "serve": "^1.4.0", "webpack": "^1.13.1", "weex-html5": "^0.4.1", "weex-loader": "^0.3.4", "weex-components": "^0.2.0" } }
-
新建一个 webpack.config.js 文件,并且编写内容如下:
require('webpack') require('weex-loader') var path = require('path') module.exports = { entry: { main: path.join(__dirname, 'src', 'hello.we?entry=true') }, output: { path: 'dist', filename: '[name].js' }, module: { loaders: [ { test: /\.we(\?[^?]+)?$/, loaders: ['weex-loader'] } ] } }
-
在当前目录,添加 Weex 项目的相关依赖,在终端输入:
npm install
-
创建 src 目录,并且在 src 目录中创建 hello.we 文件,内容如下所示:
<template> <div> <div class="title"> <text class="h1">{{ title }}</text> <text class="button" onclick="click">点击</text> </div> </div> </template> <style> .h1{ top:200px ; color: black; text-align: center; } .button{ top:300px; text-align: center; background-color: #4e7d95; font-size: 30px; padding: 25; margin: 15; color: white; border-radius: 30; } </style> <script> module.exports = { data: { title: "hello world" }, methods: { click: function(){ this.title = "hello weew" } } } </script>
-
创建 index.html 文件,作为 web 端的入口,内容如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Weex HTML5</title> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="apple-touch-fullscreen" content="yes" /> <meta name="format-detection" content="telephone=no, email=no" /> <style> html, body, #weex { width: 100%; height: 100%; } </style> <script src="../node_modules/weex-html5/dist/weex.js"></script> </head> <body> <div id="weex"></div> <script src="dist/main.js"></script> <script> (function () { function getUrlParam (key) { var reg = new RegExp('[?|&]' + key + '=([^&]+)') var match = location.search.match(reg) return match && match[1] } var loader = getUrlParam('loader') || 'xhr' var page = getUrlParam('page') || 'dist/main.js' window.weex.init({ appId: location.href, loader: loader, source: page, rootId: 'weex' }) })(); </script> </body> </html>
-
在项目根目录,启动 webpack
npm run dev // 开启文件监控 npm run serve // 开启服务器
-
最终项目如下图所示:
-
启动浏览器,在地址栏输入:
http://localhost:8080
,可以看到页面如下: