Node.js 我可以使用Nuxt.js从数据库渲染数据吗?
我正在学习nuxt.js,所以我决定用它创建一个小项目。我读了一些文档。但有些事情我还没有完全理解Node.js 我可以使用Nuxt.js从数据库渲染数据吗?,node.js,vue.js,sequelize.js,axios,nuxt.js,Node.js,Vue.js,Sequelize.js,Axios,Nuxt.js,我正在学习nuxt.js,所以我决定用它创建一个小项目。我读了一些文档。但有些事情我还没有完全理解 如果 Nuxt < /St>可以使用多个后端框架(Express、HAPI、膝关节炎、其他),我能使用诸如后缀> /强>之类的东西,并用它创建一个完整的堆栈应用程序吗? 例如,我使用express和sequelize访问数据库。然后使用nuxt的asyncData将其渲染到我的组件,而不使用axios获取。可能吗?需要一些关于此的信息Nuxt.js是后端不可知的 — 这意味着您可以使用任何后端技术
如果<强> Nuxt < /St>可以使用多个后端框架(Express、HAPI、膝关节炎、其他),我能使用诸如<强>后缀> /强>之类的东西,并用它创建一个完整的堆栈应用程序吗?
例如,我使用express和sequelize访问数据库。然后使用nuxt的asyncData将其渲染到我的组件,而不使用axios获取。可能吗?需要一些关于此的信息Nuxt.js是后端不可知的 — 这意味着您可以使用任何后端技术为Nuxt.js(或Vue.js)应用程序供电。在您的情况下,您可以使用express和sequelize创建后端。您不能从nuxt直接访问数据库,您需要创建将在异步数据中提供数据的接口
<script>
import Customers from '~/plugins/Customers.js'
export default{
asyncData ({ params }) {
return Customers.getCustomers()
.then(result => { customers: result.users})
}
}
</script>
从“~/plugins/Customers.js”导入客户
导出默认值{
asyncData({params}){
return Customers.getCustomers()
.then(结果=>{customers:result.users})
}
}
在下面的示例中,getCustomers()返回一个包含用户的承诺。
在Customers.js中,您创建了一个可访问数据库的接口。希望这能让您了解如何实现,建议您将前端和后端抽象出来,以便将来如果您希望更改后端堆栈,可以很容易地进行更新,向asyndata中的express服务器发出API请求也很好。您不能直接从
asyncData
调用数据库,因为在浏览器中运行时,这不起作用
您在站点上访问的第一个页面将由服务器呈现,因此理论上您可以从Vue代码发出数据库请求。但是所有后续页面都在浏览器中呈现(包括运行asyncData
),因此不再工作
也许它可以用于完全静态的站点,其中
asyncData
仅在构建过程中运行。当我尝试它时,我在让数据库访问代码与Webpack构建良好配合方面遇到了问题,于是我放弃了。为什么建议从asyncData发出API请求,而不仅仅是从服务器获取的数据库返回对象???@flemadap约定。从服务器获取数据完全是在asyncData()
中完成的。您可以在mounted()
中执行此操作,但存在差异。见: