A webpack loader for Weex.
npm install weex-loader babel-loader babel-preset-es2015 babel-runtime babel-plugin-transform-runtime --save
.we
file..js/.css/.html
) via a src
attribute..we
file..we
file.make a webpack config
var path = require('path'); var webpack = require('webpack'); var loader = require('weex-loader'); module.exports = { entry: './test/main.we?entry=true', output: { path: './test/actual', filename: 'main.js' }, module: { loaders: [ { test: /\.we(\?[^?]+)?$/, loader: 'weex' } ] } };
main.js as script
module.exports = { data: function () { return { text: 'Hello World' } } }
main.css as style
.h1 { font-size: 60px; color: red; }
main.html as template
<div> <text class="h1">{{text}}</text> </div>
main.we
<template src="./main.html"></template> <style src="./main.css"></style> <script src="./main.js"></script>
append a weex config in webpack config
weex: { lang: { jade: ['jade-html'] // a jade langauge will chain "jade-html-loader" } }
main.we
<template lang="jade"> div text Hello Weex </template>
.we
file as component elementpath/to/component.we
in script
like require('./foo.we')
or write inline element like <element name="foo" src="./foo.we"></element>
.template
like <foo></foo>
.<element name="foo" src="./foo.we"></element> <template> <div> <foo></foo> <bar></bar> </div> </template> <script> require('./bar.we') </script>
require('./foo.we?name="fooo"')
. Or specify a name attribute in element, like <element name="fooo" src="./foo.we" ></element>
template
like <fooo></fooo>
.<element name="fooo" src="./foo.we"></element> <template> <div> <fooo></fooo> <barr></barr> </div> </template> <script> require('./bar.we?name=barr') </script>
npm run test
will run mocha testing.
And you can check the specs in test/spec
folder.