YAML configuration, client module register simplified
This commit is contained in:
parent
3e2e2f3c3a
commit
89c745244a
|
@ -1,59 +1,59 @@
|
|||
import {module} from '../module';
|
||||
import splitingRegister from './splitingRegister';
|
||||
|
||||
factory.$inject = ['$translatePartialLoader', '$http', '$window', '$ocLazyLoad', '$q', '$translate'];
|
||||
export function factory($translatePartialLoader, $http, $window, $ocLazyLoad, $q, $translate) {
|
||||
factory.$inject = ['$http', '$window', '$ocLazyLoad', '$translatePartialLoader', '$translate'];
|
||||
export function factory($http, $window, $ocLazyLoad, $translatePartialLoader, $translate) {
|
||||
class ModuleLoader {
|
||||
constructor() {
|
||||
this._loadedModules = {};
|
||||
this._loaded = {};
|
||||
}
|
||||
load(moduleName, validations) {
|
||||
if (this._loadedModules[moduleName])
|
||||
return;
|
||||
let loaded = this._loaded;
|
||||
|
||||
this._loadedModules[moduleName] = true;
|
||||
if (loaded[moduleName])
|
||||
return loaded[moduleName];
|
||||
|
||||
loaded[moduleName] = Promise.resolve(true);
|
||||
|
||||
let deps = splitingRegister.getDependencies(moduleName);
|
||||
let modules = splitingRegister.modules;
|
||||
let promises = [];
|
||||
let depPromises = [];
|
||||
|
||||
if (deps)
|
||||
for (let dep of deps)
|
||||
depPromises.push(this.load(dep, validations));
|
||||
|
||||
loaded[moduleName] = new Promise((resolve, reject) => {
|
||||
Promise.all(depPromises)
|
||||
.then(() => {
|
||||
let promises = [];
|
||||
|
||||
// FIXME: https://github.com/angular-translate/angular-translate/pull/1674
|
||||
$translatePartialLoader.addPart(moduleName);
|
||||
promises.push($translate.refresh());
|
||||
|
||||
if (validations)
|
||||
promises.push(new Promise(resolve => {
|
||||
$http.get(`/${moduleName}/validations`).then(
|
||||
json => this.onValidationsReady(json, resolve),
|
||||
json => resolve()
|
||||
);
|
||||
}));
|
||||
|
||||
for (let dep of deps) {
|
||||
this._loadedModules[dep] = true;
|
||||
promises.push(modules[dep]());
|
||||
if (validations)
|
||||
promises.push(new Promise(resolve => {
|
||||
$http.get(`/${dep}/validations`).then(
|
||||
json => this.onValidationsReady(json, resolve),
|
||||
json => resolve()
|
||||
);
|
||||
splitingRegister.modules[moduleName](resolve);
|
||||
}));
|
||||
|
||||
$translatePartialLoader.addPart(dep);
|
||||
// FIXME: https://github.com/angular-translate/angular-translate/pull/1674
|
||||
// promises.push($translate.refresh());
|
||||
setTimeout(() => $translate.refresh(), 500);
|
||||
}
|
||||
|
||||
let ocDeps = deps.map(item => {
|
||||
return {name: item};
|
||||
Promise.all(promises)
|
||||
.then(() => {
|
||||
this._loaded[moduleName] = true;
|
||||
resolve($ocLazyLoad.load({name: moduleName}));
|
||||
})
|
||||
.catch(reject);
|
||||
})
|
||||
.catch(reject);
|
||||
});
|
||||
|
||||
return new Promise(resolve => {
|
||||
Promise.all(promises).then(
|
||||
() => resolve($ocLazyLoad.load(ocDeps))
|
||||
);
|
||||
});
|
||||
}
|
||||
parseValidation(val) {
|
||||
switch (val.validation) {
|
||||
case 'custom':
|
||||
// TODO: Reemplazar eval
|
||||
val.bindedFunction = eval(`(${val.bindedFunction})`);
|
||||
break;
|
||||
case 'format':
|
||||
val.with = new RegExp(val.with);
|
||||
break;
|
||||
}
|
||||
return loaded[moduleName];
|
||||
}
|
||||
onValidationsReady(json, resolve) {
|
||||
let entities = json.data;
|
||||
|
@ -69,6 +69,17 @@ export function factory($translatePartialLoader, $http, $window, $ocLazyLoad, $q
|
|||
Object.assign($window.validations, json.data);
|
||||
resolve();
|
||||
}
|
||||
parseValidation(val) {
|
||||
switch (val.validation) {
|
||||
case 'custom':
|
||||
// TODO: Replace eval
|
||||
val.bindedFunction = eval(`(${val.bindedFunction})`);
|
||||
break;
|
||||
case 'format':
|
||||
val.with = new RegExp(val.with);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return new ModuleLoader();
|
||||
|
|
|
@ -1,29 +1,11 @@
|
|||
|
||||
class SplitingRegister {
|
||||
constructor() {
|
||||
this._graph = null;
|
||||
this._modules = {};
|
||||
this.graph = null;
|
||||
this.modules = {};
|
||||
}
|
||||
get modules() {
|
||||
return this._modules;
|
||||
}
|
||||
getDependencies(dependency) {
|
||||
var array = [];
|
||||
array.push(dependency);
|
||||
var first = this._graph[dependency];
|
||||
|
||||
if (first)
|
||||
while (first.length > 0) {
|
||||
dependency = first.shift();
|
||||
array = array.concat(this.getDependencies(dependency));
|
||||
}
|
||||
return array;
|
||||
}
|
||||
registerGraph(graph) {
|
||||
this._graph = graph;
|
||||
}
|
||||
register(moduleName, loader) {
|
||||
this._modules[moduleName] = loader;
|
||||
getDependencies(moduleName) {
|
||||
return this.graph[moduleName];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"salix": [],
|
||||
"auth": [],
|
||||
"core": [],
|
||||
"client": [],
|
||||
"production": [],
|
||||
"route": [],
|
||||
"locator": [],
|
||||
"item": []
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
salix: []
|
||||
auth: []
|
||||
core: []
|
||||
client: []
|
||||
production: []
|
||||
route: []
|
||||
locator: []
|
||||
item: []
|
|
@ -1,5 +1,4 @@
|
|||
import './module';
|
||||
import './spliting';
|
||||
import './configroutes';
|
||||
import './config';
|
||||
import './run';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import './spliting';
|
||||
import deps from 'client/modules.json';
|
||||
import ngModule from './module';
|
||||
import deps from 'client/modules.yml';
|
||||
import modules from 'client/spliting';
|
||||
import {splitingRegister} from 'core';
|
||||
|
||||
function loader(moduleName, validations) {
|
||||
|
@ -13,7 +13,9 @@ function loader(moduleName, validations) {
|
|||
|
||||
config.$inject = ['$stateProvider', '$urlRouterProvider', 'aclServiceProvider', 'modulesFactoryProvider'];
|
||||
function config($stateProvider, $urlRouterProvider, aclServiceProvider, modulesFactory) {
|
||||
splitingRegister.registerGraph(deps);
|
||||
splitingRegister.graph = deps;
|
||||
splitingRegister.modules = modules;
|
||||
|
||||
let aclService = aclServiceProvider.$get();
|
||||
|
||||
function getParams(route) {
|
||||
|
@ -61,7 +63,7 @@ function config($stateProvider, $urlRouterProvider, aclServiceProvider, modulesF
|
|||
configRoute.abstract = true;
|
||||
if (route.routeParams)
|
||||
configRoute.params = route.routeParams;
|
||||
|
||||
|
||||
$stateProvider.state(route.state, configRoute);
|
||||
} else if (route.state === mainModule.state) {
|
||||
break;
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
import * as core from 'core';
|
||||
|
||||
export const client = () => {
|
||||
return new Promise(resolve => {
|
||||
require.ensure([], () => {
|
||||
require('client');
|
||||
resolve('client');
|
||||
}, 'client');
|
||||
});
|
||||
};
|
||||
|
||||
core.splitingRegister.register('client', client);
|
||||
|
||||
export const production = () => {
|
||||
return new Promise(resolve => {
|
||||
require.ensure([], () => {
|
||||
require('production');
|
||||
resolve('production');
|
||||
}, 'production');
|
||||
});
|
||||
};
|
||||
|
||||
core.splitingRegister.register('production', production);
|
||||
|
||||
export const route = () => {
|
||||
return new Promise(resolve => {
|
||||
require.ensure([], () => {
|
||||
require('route');
|
||||
resolve('route');
|
||||
}, 'route');
|
||||
});
|
||||
};
|
||||
|
||||
core.splitingRegister.register('route', route);
|
||||
|
||||
export const locator = () => {
|
||||
return new Promise(resolve => {
|
||||
require.ensure([], () => {
|
||||
require('locator');
|
||||
resolve('locator');
|
||||
}, 'locator');
|
||||
});
|
||||
};
|
||||
|
||||
core.splitingRegister.register('locator', locator);
|
||||
|
||||
export const item = () => {
|
||||
return new Promise(resolve => {
|
||||
require.ensure([], () => {
|
||||
require('item');
|
||||
resolve('item');
|
||||
}, 'item');
|
||||
});
|
||||
};
|
||||
|
||||
core.splitingRegister.register('item', item);
|
|
@ -0,0 +1,12 @@
|
|||
export default {
|
||||
client:
|
||||
cb => require.ensure([], () => cb(require('client'))),
|
||||
production:
|
||||
cb => require.ensure([], () => cb(require('production'))),
|
||||
route:
|
||||
cb => require.ensure([], () => cb(require('route'))),
|
||||
locator:
|
||||
cb => require.ensure([], () => cb(require('locator'))),
|
||||
item:
|
||||
cb => require.ensure([], () => cb(require('item')))
|
||||
};
|
16
gulpfile.js
16
gulpfile.js
|
@ -1,3 +1,4 @@
|
|||
require('require-yaml');
|
||||
const gulp = require('gulp');
|
||||
const gutil = require('gulp-util');
|
||||
const wrap = require('gulp-wrap');
|
||||
|
@ -22,11 +23,11 @@ const servicesDir = './services';
|
|||
const nginxDir = `${servicesDir}/nginx`;
|
||||
const buildDir = `${nginxDir}/static`;
|
||||
|
||||
const modules = require('./client/modules.json');
|
||||
const modules = require('./client/modules.yml');
|
||||
const webpackConfig = require('./webpack.config.js');
|
||||
|
||||
let proxyConf = require(`${nginxDir}/config.json`);
|
||||
let proxyEnvFile = `${nginxDir}/config.${env}.json`;
|
||||
let proxyConf = require(`${nginxDir}/config.yml`);
|
||||
let proxyEnvFile = `${nginxDir}/config.${env}.yml`;
|
||||
|
||||
if (fs.existsSync(proxyEnvFile))
|
||||
Object.assign(proxyConf, require(proxyEnvFile));
|
||||
|
@ -80,7 +81,7 @@ gulp.task('e2e-run', () => {
|
|||
|
||||
gulp.task('clean', () => {
|
||||
const del = require('del');
|
||||
return del([`${buildDir}/*`, `${nginxDir}/temp/*`, `!${buildDir}/templates`, `!${buildDir}/images`], {force: true});
|
||||
return del([`${buildDir}/*`, `!${buildDir}/templates`, `!${buildDir}/images`], {force: true});
|
||||
});
|
||||
|
||||
gulp.task('install', () => {
|
||||
|
@ -144,7 +145,7 @@ gulp.task('nginx', ['nginx-conf'], callback => {
|
|||
let command = isWindows ? 'start.cmd' : 'start.sh';
|
||||
command = path.join(`${nginxDir}/${command}`);
|
||||
exec(command, (err, stdout, stderr) => {
|
||||
if (stderr) console.log(stderr);
|
||||
// if (stderr) console.log(stderr);
|
||||
callback(err);
|
||||
});
|
||||
});
|
||||
|
@ -172,6 +173,11 @@ gulp.task('nginx-conf', async () => {
|
|||
await fs.writeFile(`${nginxDir}/temp/nginx.conf`, nginxConf);
|
||||
});
|
||||
|
||||
gulp.task('nginx-clean', () => {
|
||||
const del = require('del');
|
||||
return del([`${nginxDir}/temp/*`], {force: true});
|
||||
});
|
||||
|
||||
let services;
|
||||
|
||||
async function getServices() {
|
||||
|
|
|
@ -132,19 +132,19 @@
|
|||
"integrity": "sha1-cC9XTW0UBpADXqxkOV/jEfeYf7s="
|
||||
},
|
||||
"angular-translate": {
|
||||
"version": "2.13.1",
|
||||
"resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.13.1.tgz",
|
||||
"integrity": "sha1-BWc+s3GYb8Ee3BUfWQKZ1+DEYig=",
|
||||
"version": "2.17.0",
|
||||
"resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.17.0.tgz",
|
||||
"integrity": "sha512-SudfI0R0Hhtvngc0X3wFChXQGmw90o95i+QPZ11LhJJryneTq8LR3+3E4E7jgHA4fu6TcswgcfZ9+cp5ckbUHw==",
|
||||
"requires": {
|
||||
"angular": "1.6.8"
|
||||
}
|
||||
},
|
||||
"angular-translate-loader-partial": {
|
||||
"version": "2.13.1",
|
||||
"resolved": "https://registry.npmjs.org/angular-translate-loader-partial/-/angular-translate-loader-partial-2.13.1.tgz",
|
||||
"integrity": "sha1-U3g7SK7OUJFS1NwfZMIxaKaTadM=",
|
||||
"version": "2.17.0",
|
||||
"resolved": "https://registry.npmjs.org/angular-translate-loader-partial/-/angular-translate-loader-partial-2.17.0.tgz",
|
||||
"integrity": "sha512-pyRJcRc93iwiUnRnh9ZfehbQE/yxO5T6jmEqIvLEVz8gKLjDqDLKcaQFgPef9wCIN2n3e531YbStkkbSH3LYmQ==",
|
||||
"requires": {
|
||||
"angular-translate": "2.13.1"
|
||||
"angular-translate": "2.17.0"
|
||||
}
|
||||
},
|
||||
"ansi-align": {
|
||||
|
@ -267,7 +267,6 @@
|
|||
"version": "1.0.9",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
|
||||
"integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
|
@ -5329,7 +5328,7 @@
|
|||
"fsevents": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
|
||||
"integrity": "sha1-EfgjGPX+e7LNIpZaEI6TBiCCFtg=",
|
||||
"integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
|
@ -9980,9 +9979,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"json-loader": {
|
||||
"version": "0.5.4",
|
||||
"resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz",
|
||||
"integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=",
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
|
||||
"integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==",
|
||||
"dev": true
|
||||
},
|
||||
"json-schema": {
|
||||
|
@ -12665,6 +12664,30 @@
|
|||
"resolve-from": "1.0.1"
|
||||
}
|
||||
},
|
||||
"require-yaml": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/require-yaml/-/require-yaml-0.0.1.tgz",
|
||||
"integrity": "sha1-LhsY2RPDuqcqWk03O28Tjd0sMr0=",
|
||||
"requires": {
|
||||
"js-yaml": "3.10.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"esprima": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
|
||||
"integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw=="
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.10.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
|
||||
"integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
|
||||
"requires": {
|
||||
"argparse": "1.0.9",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"requires-port": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
|
||||
|
@ -12820,9 +12843,9 @@
|
|||
}
|
||||
},
|
||||
"sass-loader": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-4.0.2.tgz",
|
||||
"integrity": "sha1-phbrdwNmVD5k9UfIYw85xNp18V0=",
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-4.1.1.tgz",
|
||||
"integrity": "sha1-ee+UaM8L9kbClSnh8sumvW5Rx7w=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async": "2.1.2",
|
||||
|
@ -13535,8 +13558,7 @@
|
|||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
|
||||
"dev": true
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
|
||||
},
|
||||
"sqlstring": {
|
||||
"version": "2.3.0",
|
||||
|
@ -14879,7 +14901,7 @@
|
|||
"async": "2.1.2",
|
||||
"enhanced-resolve": "3.0.3",
|
||||
"interpret": "1.0.1",
|
||||
"json-loader": "0.5.4",
|
||||
"json-loader": "0.5.7",
|
||||
"loader-runner": "2.3.0",
|
||||
"loader-utils": "0.2.16",
|
||||
"memory-fs": "0.4.1",
|
||||
|
@ -15264,6 +15286,15 @@
|
|||
"integrity": "sha1-MGxUODXwnuGkyyO3vOmrNByRzdQ=",
|
||||
"dev": true
|
||||
},
|
||||
"yaml-loader": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.5.0.tgz",
|
||||
"integrity": "sha512-p9QIzcFSNm4mCw/m5NdyMfN4RE4aFZJWRRb01ERVNGCym8VNbKtw3OYZXnvUIkim6U/EjqE/2yIh9F/msShH9A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"js-yaml": "3.10.0"
|
||||
}
|
||||
},
|
||||
"yargs": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
|
||||
|
|
11
package.json
11
package.json
|
@ -13,13 +13,14 @@
|
|||
"angular": "^1.6.8",
|
||||
"angular-cookies": "^1.6.4",
|
||||
"angular-paging": "^2.2.2",
|
||||
"angular-translate": "^2.13.1",
|
||||
"angular-translate-loader-partial": "^2.13.1",
|
||||
"angular-translate": "^2.17.0",
|
||||
"angular-translate-loader-partial": "^2.17.0",
|
||||
"flatpickr": "^2.6.3",
|
||||
"fs-extra": "^5.0.0",
|
||||
"material-design-lite": "^1.3.0",
|
||||
"mg-crud": "^1.1.2",
|
||||
"oclazyload": "^0.6.3",
|
||||
"require-yaml": "0.0.1",
|
||||
"validator": "^6.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -53,6 +54,7 @@
|
|||
"jasmine": "^2.9.0",
|
||||
"jasmine-spec-reporter": "^4.2.1",
|
||||
"js-yaml": "^3.10.0",
|
||||
"json-loader": "^0.5.7",
|
||||
"karma": "^1.7.1",
|
||||
"karma-chrome-launcher": "^2.2.0",
|
||||
"karma-firefox-launcher": "^1.1.0",
|
||||
|
@ -68,10 +70,11 @@
|
|||
"nodemon": "^1.12.1",
|
||||
"raw-loader": "*",
|
||||
"run-sequence": "^2.2.0",
|
||||
"sass-loader": "^4.0.2",
|
||||
"sass-loader": "^4.1.1",
|
||||
"style-loader": "^0.13.1",
|
||||
"webpack": "^2.2.0",
|
||||
"webpack-dev-server": "^2.2.0"
|
||||
"webpack-dev-server": "^2.2.0",
|
||||
"yaml-loader": "^0.5.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "nodemon -q services_tests.js -w services",
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
require('require-yaml');
|
||||
var fs = require('fs-extra');
|
||||
|
||||
let env = process.env.NODE_ENV ? process.env.NODE_ENV : 'development';
|
||||
|
@ -8,8 +9,8 @@ let configEnvFile = `${__dirname}/config/datasources.${env}.json`;
|
|||
if (fs.existsSync(configEnvFile))
|
||||
Object.assign(config, require(configEnvFile));
|
||||
|
||||
let proxyConf = require(`../../nginx/config.json`);
|
||||
let proxyEnvFile = `../../nginx/config.${env}.json`;
|
||||
let proxyConf = require(`../../nginx/config.yml`);
|
||||
let proxyEnvFile = `../../nginx/config.${env}.yml`;
|
||||
|
||||
if (fs.existsSync(proxyEnvFile))
|
||||
Object.assign(proxyConf, require(proxyEnvFile));
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
logs/*
|
||||
static/*
|
||||
temp/*
|
||||
!static/templates
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"host": "localhost",
|
||||
"port": 5000,
|
||||
"main": "salix",
|
||||
"defaultPort": 3000,
|
||||
"devServerPort": 8081
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"host": "salix",
|
||||
"port": 80
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
host: salix
|
||||
port: 80
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"host": "test-salix",
|
||||
"port": 80
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
host: test-salix
|
||||
port: 80
|
|
@ -0,0 +1,5 @@
|
|||
host: localhost
|
||||
port: 5000
|
||||
main: salix
|
||||
defaultPort: 3000
|
||||
devServerPort: 8081
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
set nginxDir=%~dp0
|
||||
set nginxTemp=%nginxDir%\temp
|
||||
set nginxConf=%nginxTemp%\nginx.conf
|
||||
set nginxConf=temp\nginx.conf
|
||||
|
||||
if "%1"=="" goto caseStart
|
||||
if "%1"=="start" goto caseStart
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
require('require-yaml');
|
||||
var fs = require('fs-extra');
|
||||
|
||||
let env = process.env.NODE_ENV ? process.env.NODE_ENV : 'development';
|
||||
|
@ -8,8 +9,8 @@ let configEnvFile = `${__dirname}/config/datasources.${env}.json`;
|
|||
if (fs.existsSync(configEnvFile))
|
||||
Object.assign(config, require(configEnvFile));
|
||||
|
||||
let proxyConf = require(`../../nginx/config.json`);
|
||||
let proxyEnvFile = `../../nginx/config.${env}.json`;
|
||||
let proxyConf = require(`../../nginx/config.yml`);
|
||||
let proxyEnvFile = `../../nginx/config.${env}.yml`;
|
||||
|
||||
if (fs.existsSync(proxyEnvFile))
|
||||
Object.assign(proxyConf, require(proxyEnvFile));
|
||||
|
|
|
@ -25,20 +25,19 @@ var config = {
|
|||
query: {
|
||||
presets: ['es2015']
|
||||
}
|
||||
},
|
||||
{
|
||||
}, {
|
||||
test: /\.yml$/,
|
||||
loader: 'json-loader!yaml-loader'
|
||||
}, {
|
||||
test: /\.html$/,
|
||||
loader: 'html-loader'
|
||||
},
|
||||
{
|
||||
}, {
|
||||
test: /\.css$/,
|
||||
loader: 'style-loader!css-loader'
|
||||
},
|
||||
{
|
||||
}, {
|
||||
test: /\.scss$/,
|
||||
loader: 'style-loader!css-loader!sass-loader'
|
||||
},
|
||||
{
|
||||
}, {
|
||||
test: /\.(svg|png|ttf|woff|woff2)$/,
|
||||
loader: 'file-loader'
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue