Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

weex-vue-render

Package Overview
Dependencies
Maintainers
3
Versions
144
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

weex-vue-render

Web renderer for weex project written in Vue DSL.

  • 1.0.9
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
10
decreased by-77.27%
Maintainers
3
Weekly downloads
 
Created
Source

weex-vue-render

Web renderer for weex project. Support Vue 2.x syntax.

build vuejs2.x pkg down Package Quality

How To Use

We strongly suggest you use v1.x instead of 0.12.x, according to performance issue.

npm install weex-vue-render
// import vue runtime.
const Vue = require('vue/dist/vue.runtime.common').default
// import weex-vue-render
const weex = require('weex-vue-render')
// init the weex instance.
weex.init(Vue)
// import your .vue App.
const App = require('App.vue')
// must have a '#root' element in your html body.
App.$el = '#root'
// instantiate
new App()

If import the UMD formated bundle to the html, then you dont't have to call init manually.

<script>{{Vue runtime}}</script>
<script>{{weex-vue-render}}</script>
<script>{{your web.bundle.js}}</script>

pack your .vue file to web.bundle.js

You should pack your web.bundle.js and native.bundle.js separately. Use weex-loader for native packing and use vue-loader for web packing.

Use vue-loader to pack your code for web.bundle.js.

If you are using weex-vue-render@1.x , You should definitely use below plugins to get things work:

  • weex-vue-precompiler
  • autoprefixer
  • postcss-plugin-weex
  • postcss-plugin-px2rem

We use weex-vue-precompiler instead of $processStyle in 1.x verison.

Now, how to use this plugins to pack you web.bundle.js ? We use them in the vue-loader option.

Here is a vue-loader option example:

{ // webpack config.
  vue: {
    optimizeSSR: false,
    postcss: [
      // to convert weex exclusive styles.
      require('postcss-plugin-weex')(),
      require('autoprefixer')({
        browsers: ['> 0.1%', 'ios >= 8', 'not ie < 12']
      }),
      require('postcss-plugin-px2rem')({
        // base on 750px standard.
        rootValue: 75,
        // to leave 1px alone.
        minPixelValue: 1.01
      })
    ],
    compilerModules: [
      {
        postTransformNode: el => {
          // to convert vnode for weex components.
          require('weex-vue-precompiler')()(el)
        }
      }
    ]
  }
}

You should use a .js file as your webpack entry, not the Main.vue or App.vue file.

The content of your entry file main.js should be like this:

// import Vue runtime if you like.
// import weex-vue-render if you like.
// init weex if you imported it.
// at least it should have this:
import App from './your/App.vue'
App.el = '#root'
new Vue(App)

How to Migrate from 0.12.x to 1.x

Why should I update to 1.x ?

The answer is enoumouse change in rendering performance with a few minor updates in your code is definitely worth to try.

packing configuration

You should use the previous mentioned plugins in your vue-loader configuration.

check your code

categoryrules0.12.x1.x
render functionevents bindingnoneshould add attrs as data-evt-xxevent. e.g. If binding a appear listener, you should add attrs: { 'data-evt-appear': '' } to your render data.
click eventnoneshould bind weex$tap event on web platform, and click event in other platforms.
tag namenonewhen you use createElement to create a image element, you should create a figure element in web platform. With text you should use p.
attribute src for imgnonewhen you createElement, use a extra attr data-img-src for figure element, value of which is exactly the same as value of src.
stylesstyle bindingnonebetter performance for binding object literal like :style="{width:w,height:h}" instead of object variable like :style="someObj"
styles in animation.transitionnoneshould add css prefix manualy if needed. We suggest you use transition to implement animation.
eventsto emit a click eventjust $emit a click eventyou should $emit weex$tap event on web platform.
to emit a scroll eventjust $emit a scroll eventyou should $emit weex$scroll event on web platform.
exclusive styleslimitnonewirte them in <style> tag for better performance.
image attr: 'resize'nonedue to involving style changing, the 'resize' attribute shouldn't be a attribute binding like :resize="someVar", instead you should use static attribute like resize="cover". In other words, it shouldn't be updated.
refwhat this.$refs.xx will getalways instance of VueComponentHTMLElement for div, image and text; VueComponent for other components.

Develop

# build for weex-vue-render package
npm run build
# debug and serve examples
npm run dev
# build and run test cases
npm run test

Keywords

FAQs

Package last updated on 05 Jan 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc