Ayano
About project name
ayano is a character at 《目隐都市的演绎者》
Quik start
npm install -g ayano
ayano init <name>
cd <name>
npm start
ayano-script
start
ayano-script start //start app with a webpack devServer
ayano has inner webpack config file, you can use --config -c [path]
to use custom config file
build
ayano-script build // build app
ayano has inner webpack config file, you can use --config -c [path]
to use custom config file
outputConfig
ayano-script outputConfig
This command will out put innner config file to current dir
Proxy
Add proxy settings to package.json
, about config, to see webpack devServer proxy
AyanoReact
Start
npm install --save ayano-react
Features
createApp
const options = {
actions: {},
reducers: <reducer>,
history: history,
routers: [{
path: '/',
component: Home,
}]
}
const app = createApp(options);
app.start(document.querySelector('#root'));
app._store
app._history
app._actions
connectApp
class App extends React.Component {
constructor(props) {
super(props)
}
render() {
<div class="app"></div>
}
}
const mapStateToProps = (state) => {
return {
app: state.app
}
}
connectApp(mapStateToProps)(App)
- the
connectApp
will auto merge actions which is defined at createApp options and bind dispatch
buildConstants
const constants = buildConstants([{
key: "POSTS",
values: ["ALL", "CREATE_EMPTY"]
}, {
key: "POST",
values: ["SELECT", "UPDATE_VALUE", "FINISH_SAVE_POST", "FINISH_CHANGE_STATUS"]
}], "@manage")
request
const apis = {
users: {
path:'/users',
method: 'GET'
},
user: {
path: (data) => { return `/user/${data.id}` },
method: "GET"
}
host: 'https://xxx.xxx.xx'
}
const rq = request(apis);
rq('users').then(...)
rq('user', { id: 122 }).then(...)
rq('/ayano')