Skip to content

Instantly share code, notes, and snippets.

@giann
Created May 29, 2019 06:17
Show Gist options
  • Save giann/2de99f04410ea9d9780b5f96aff5791e to your computer and use it in GitHub Desktop.
Save giann/2de99f04410ea9d9780b5f96aff5791e to your computer and use it in GitHub Desktop.
Vuex router with Fengari
local new = js.new
local helpers = require "./js-helpers.lua"
local Object = helpers.Object
local Array = helpers.Array
local BASE_URL = helpers.webpack.process.env.BASE_URL
local isDev = helpers.webpack.process.env.NODE_ENV == "development"
local Vue = require "vue".default
local Router = require "vue-router".default
local Home = require "./views/Home.vue".default
local Budget = require "./views/Budget.vue".default
local Accounts = require "./views/Accounts.vue".default
local Account = require "./views/Account.vue".default
local Reports = require "./views/Reports.vue".default
local Settings = require "./views/Settings.vue".default
local Transactions = require "./views/Transactions.vue".default
local DesignSystem = require "./views/DesignSystem.vue".default
Vue:use(Router)
local routes = {
Object {
path = "/",
name = "home",
component = Home
},
Object {
path = "/budget",
name = "budget",
component = Budget
},
Object {
path = "/accounts",
name = "accounts",
component = Accounts
},
Object {
path = "/accounts/:id",
name = "account",
component = Account
},
Object {
path = "/transactions",
name = "transactions",
component = Transactions
},
Object {
path = "/reports",
name = "reports",
component = Reports
},
Object {
path = "/settings",
name = "settings",
component = Settings
},
}
if isDev then
table.insert(routes, Object {
path = "/design",
name = "design",
component = DesignSystem
})
end
return new(Router, Object {
mode = "history",
base = BASE_URL,
routes = Array(routes)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment