merge routes.js

This commit is contained in:
Javi Gallego 2016-10-06 15:30:19 +02:00
commit 36dbfbfbc6
14 changed files with 217 additions and 42 deletions

41
@salix/app/src/fake.js Normal file
View File

@ -0,0 +1,41 @@
export const graphRoutes = {
routes: [
{
url: '/index',
state: 'index',
template: '<customer-index></customer-index>',
module: 'compras',
description: '',
image: '',
},
{
url: '/add',
state: 'add',
template: '<customer-add></customer-add>',
module: 'compras',
description: '',
image: '',
},
{
url: '/edit',
state: 'edit',
template: '<customer-edit></customer-edit>',
module: 'compras',
description: '',
image: '',
},
{
url: '/delete',
state: 'delete',
template: '<customer-delete></customer-delete>',
module: 'compras',
description: '',
image: '',
}
],
graphDependendies: {
compras:["crud"],
crud:[]
}
};

View File

@ -1,21 +1,34 @@
import * as core from '@salix/core';
import * as spliting from './spliting';
import * as spliting from './spliting';
import {routes} from './fake';
core.module.config(function($stateProvider, $urlRouterProvider) {
core.splitingRegister.registerGraph('hello');
function xxx(route){
return function loader($ocLazyLoad, $q){
return $q((resolve) => {
core.splitingRegister.execute(route.module)
spliting[route.module](() => {
//resolve($ocLazyLoad.load({name: route.module}));
});
});
};
}
$urlRouterProvider.otherwise("/");
$stateProvider
.state('index', {
url: "/index",
template :'<customer-index></customer-index>',
routes.forEach(function(route) {
$stateProvider.state(route.state, {
url: route.url,
template :route.template,
resolve: {
loader: function($ocLazyLoad, $q){
return $q((resolve) => {
spliting.crud($ocLazyLoad, resolve);
});
}
loader: xxx(route)
}
})
}, this);
});

View File

@ -1,14 +1,14 @@
export const crud = (lazy, resolve) => {
require.ensure([], () => {
var module = require('@salix/crud');
resolve(lazy.load({name:'crud'}));
}, "salix.crud");
};
export const compras = () => {
import * as core from '@salix/core';
export const compras = (cb) => {
require.ensure([], () => {
require('@salix/compras')
cb();
}, "salix.compras");
};
export const ventas = () => {
require.ensure([], () => {
require('@salix/ventas')

View File

@ -0,0 +1,4 @@
{
"route": "buys",
"template": "buys.template"
}

View File

@ -1,8 +1,9 @@
/**
* export public module
*/
export * from './module';
export * from './util';
export * from './module'
export * from './util'
export {SplitingRegister as splitingRegister} from './splitingregister'
export {NAME as RESOLVEDEFAULTCOMPONENT, ResolveDefaultComponent} from './resolveDefaultComponents'
export {NAME as INTERPOLATE,Interpolate} from './interpolate'
export {NAME as BUTTON,directive as ButtonDirective} from './button/button'

View File

@ -0,0 +1,32 @@
const _SplitingRegister = ()=>{
var _graph;
var dependencies = {};
return {
registerGraph: function(graph){
_graph = graph;
},
register: function(dependency,loader){
dependencies[dependecy]=loader;
},
execute: function(dependency){
var _array=[];
_array.push(dependency);
var fist =graph[dependency];
//TODO:create dependy graph
while(key=array.pop()){
dependencies[key]();
}
},
write:function(){
console.log(_graph);
}
}
};
export const SplitingRegister = _SplitingRegister();

View File

@ -0,0 +1,8 @@
export const crud = (cb) => {
require.ensure([], () => {
require('@salix/crud');
cb();
}, "salix.crud");
};

View File

@ -0,0 +1,4 @@
{
"route": "sales",
"template": "sales.template"
}

16
gulpfile.js Normal file
View File

@ -0,0 +1,16 @@
var gulp = require ('gulp');
var jsoncombine = require ('gulp-jsoncombine');
function combineFunc (data)
{
return new Buffer (JSON.stringify (data));
}
gulp.task ('default', function ()
{
var json = gulp.src ('./@salix/**/routing.json')
.pipe (jsoncombine ('salix.routes.json', combineFunc))
.pipe (gulp.dest ('./build'));
});

View File

@ -4,14 +4,13 @@
<title>Salix</title>
</head>
<body>
<div id="app">
<div ui-view></div>
<a ui-sref="index">index</a>
<a ui-sref="add">add</a>
<a ui-sref="edit">edit</a>
<a ui-sref="delete">delete</a>
</div>
<script type="text/javascript" src="build/salix.app.js" selector="#app"></script>
<div id="app">
<div ui-view></div>
<a ui-sref="index">index</a>
<a ui-sref="add">add</a>
<a ui-sref="edit">edit</a>
<a ui-sref="delete">delete</a>
</div>
<script type="text/javascript" src="build/salix.app.js" selector="#app"></script>
</body>
</html>

27
npm-debug.log Normal file
View File

@ -0,0 +1,27 @@
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/Cellar/node/6.3.1/bin/node',
1 verbose cli '/usr/local/bin/npm',
1 verbose cli 'run',
1 verbose cli 'dev' ]
2 info using npm@3.10.3
3 info using node@v6.3.1
4 verbose stack Error: missing script: dev
4 verbose stack at run (/usr/local/lib/node_modules/npm/lib/run-script.js:151:19)
4 verbose stack at /usr/local/lib/node_modules/npm/lib/run-script.js:61:5
4 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:356:5
4 verbose stack at checkBinReferences_ (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:320:45)
4 verbose stack at final (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:354:3)
4 verbose stack at then (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:124:5)
4 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:311:12
4 verbose stack at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:78:16
4 verbose stack at tryToString (fs.js:455:3)
4 verbose stack at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:442:12)
5 verbose cwd /Users/nelo/Documents/node/salix
6 error Darwin 16.0.0
7 error argv "/usr/local/Cellar/node/6.3.1/bin/node" "/usr/local/bin/npm" "run" "dev"
8 error node v6.3.1
9 error npm v3.10.3
10 error missing script: dev
11 error If you need help, you may report this error at:
11 error <https://github.com/npm/npm/issues>
12 verbose exit [ 1, true ]

View File

@ -11,18 +11,21 @@
"dependencies": {
"angular": "^1.5.8",
"angular-ui-router": "^1.0.0-beta.3",
"express": "^4.14.0",
"material-design-lite": "^1.2.1",
"oclazyload": "^0.6.3"
},
"devDependencies": {
"babel-core": "*",
"babel-loader": "*",
"babel-preset-es2015": "*",
"css-loader": "^0.25.0",
"raw-loader": "*",
"style-loader": "^0.13.1",
"gulp": "^3.9.1",
"gulp-jsoncombine": "^1.0.3",
"webpack": "*",
"webpack-dev-server": "*"
"webpack-dev-server": "*",
"raw-loader": "*",
"css-loader": "^0.25.0",
"style-loader": "^0.13.1",
"babel-loader": "*",
"babel-core": "*",
"babel-preset-es2015": "*"
},
"scripts": {
"build": "webpack --progress --colors --watch"

24
server.js Normal file
View File

@ -0,0 +1,24 @@
var express = require ('express');
function getRoutes (req, res)
{
var routes = require ('./build/salix.routes.json');
res.send (JSON.stringify (routes));
}
function getDefault (res, res)
{
res.sendStatus (404);
}
function onListen ()
{
console.log ('HTTP server started.');
}
var app = express ();
app.get ('/routes.json', getRoutes);
app.all (/.*/, getDefault);
app.listen (8080, onListen);

View File

@ -1,6 +1,6 @@
var webpack = require('webpack');
var path = require('path');
var webpack = require ('webpack');
var path = require ('path');
module.exports =
{
@ -22,10 +22,13 @@ module.exports =
query: {
presets: ['es2015']
}
}, {
},{
test: /\.html$/,
loader: 'raw'
}, {
},{
test: /\.json$/,
loader: 'json'
},{
test: /\.css$/,
loader: 'style!css'
}