📜  rails + vue js projcet 演示 - Javascript (1)

📅  最后修改于: 2023-12-03 15:34:36.583000             🧑  作者: Mango

Rails + Vue.js Project演示 - Javascript

介绍

本文将介绍如何使用Rails和Vue.js创造一个多页面应用程序(MPA)。Vue.js是一个渐进式Javascript框架用于构建用户界面(User Interface, UI)。同时Rails是一个开发Web应用程序所需要的所有工具和程序的集合。

我们将使用Rails作为API后端,并使用Vue.js作为前端框架。这个演示项目将包括用户的认证和操作,数据库的交互和数据的展示。

技术栈
  • Ruby on Rails (v5.2)
  • Vue.js (v2)
  • Vue Router
  • Vuex
  • Bootstrap 4
  • Webpacker
步骤
步骤1 - 建立Rails应用程序

使用以下命令建立一个新的Rails应用程序:

$ rails new rails-vue-app --webpack=vue

这将建立一个新的Rails应用程序,其中包含Webpack和Vue.js。

步骤2 - 安装Vue.js

使用以下命令安装Vue.js:

$ yarn add vue
步骤3 - 安装Vue Router和Vuex

使用以下命令安装Vue Router和Vuex:

$ yarn add vue-router vuex
步骤4 - 创建前端项目

我们将把我们的Vue.js代码放在app/javascript目录下。首先,内部创建Vue.js项目:

$ mkdir app/javascript
$ cd app/javascript
$ vue init webpack frontend

这会初始化一个新的Vue.js项目,其中包含所有的构建和依赖关系。

步骤5 - 配置把Vue.js整合到Rails应用程序

打开config/webpacker.yml文件,并添加以下代码:

# config/webpacker.yml
default: &default
  # ...
  source_path: app/javascript
  source_entry_path: packs
  public_root_path: public
  public_output_path: packs
  # ...

development:
  <<: *default
  compile: true

test:
  <<: *default
  compile: true

production:
  <<: *default
  compile: true

然后打开config/application.rb文件,并添加以下代码:

# config/application.rb
# ...
config.webpacker.check_yarn_integrity = false

此外,在启用Rails服务器之前,要编译Vue.js代码。确保在app/javascript/frontend目录中运行以下命令:

$ yarn install
$ yarn run build
步骤6 - 创建Vue.js组件

app/javascript/frontend/components目录下创建一个Vue.js组件。

<!-- app/javascript/frontend/components/Hello.vue -->
<template>
  <div>
    <h3>{{ message }}</h3>
    <button @click="reverseMessage">Reverse Message</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue!'
    }
  },

  methods: {
    reverseMessage() {
      this.message = this.message.split('').reverse().join('')
    }
  }
}
</script>
步骤7 - 创建Vue.js路由

app/javascript/frontend目录下创建路由文件router.js

// app/javascript/frontend/router.js
import Vue from 'vue'
import Router from 'vue-router'

import Hello from './components/Hello.vue'

Vue.use(Router)

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'hello',
      component: Hello
    }
  ]
})

此外,导出Vue.js实例。在app/javascript/frontend/app.js文件中添加以下代码:

// app/javascript/frontend/app.js
import Vue from 'vue'

import router from './router'

import App from './App.vue'

Vue.config.productionTip = false

document.addEventListener('DOMContentLoaded', () => {
  const el = document.body.appendChild(document.createElement('app'))
  const app = new Vue({
    el,
    router,
    render: h => h(App)
  })

  console.log(app)
})
步骤8 - 渲染Vue.js模板

在Rails应用程序中添加以下代码,以渲染Vue.js模板。

<html>
  <head>
    <title>Rails + Vue.js App</title>
    <%= csrf_meta_tags %>
  </head>
  <body>
    <div id="app">
      <%= content_tag :router_view %>
    </div>

    <%= javascript_pack_tag 'application' %>
  </body>
</html>
步骤9 - 运行应用程序

运行以下命令以启动Rails服务器:

$ bin/rails server

打开浏览器并访问http://localhost:3000以查看Vue.js应用程序。

结论

在本教程中,我们演示了如何使用Rails和Vue.js创建一个多页面应用程序。Vue.js是一个非常好的前端框架,可用于构建高性能的Web应用程序。Rails是一种强大而实用的Web框架,具有很多有用的功能和工具。我们将两个框架结合在一起,以实现我们的应用程序。