草庐IT

Vue-CLI 项目搭建

HammerZe'BK 2023-03-28 原文

Vue-CLI 项目搭建

CLI

CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令。它可以通过 vue create 快速搭建一个新项目,或者直接通过 vue serve 构建新想法的原型。你也可以通过 vue ui 通过一套图形化界面管理你的所有项目。

没有安装好cli脚手架的可以继续安装:

?Vue CLI 官网文档

?Node.js安装详细教程

安装好脚手架后,我在安装的过程中发现使用npm自带的源太慢了,可以切换源

在nodejs的环境上装vue-cli:vue脚手架
	-npm install -g cnpm --registry=https://registry.npm.taobao.org
  -以后使用cnpm替换掉npm即可:下载速度快
	-cnpm install -g @vue/cli  # 速度慢,淘宝写了工具 cnpm,完全替换npm的功能,使用cnpm回去淘宝镜像站下载,速度快

我装的最新版本nodejs,如果想装旧版本参考下文档:

?旧版本:https://nodejs.org/zh-cn/download/releases/

Node第一个程序:Hello world

CLI创建项目

方式一:命令行创建-vue create

运行以下命令来创建一个新项目:

vue create item

选择Manually,手动选择功能,然后回车

使用空格选择,Babel、Router、Vuex

Babel:es版本转换,比如es6语法在浏览器不支持,那么它会帮我们转换到支持的版本

Router:路由跳转

Vuex:状态管理器(存数据)

Vue版本选择

Router选择

选择package管理

保存配置选择作为历史选择

配置名

成功:不成功建议使用管理员创建就行了


方式二:使用图形化界面-vue ui

可以通过 vue ui 命令以图形化界面创建和管理项目:

vue ui

上述命令会打开一个浏览器窗口,并以图形化界面将你引导至项目创建的流程

如何删除CLI预设

这里的预设不需要如何删除?按照如下路径找到.vuerc打开删除即可

C:\Users\3547

打开.vuerc

再次创建项目就没有预设了

Vue项目目录及运行

运行

  • 运行项目方式一:在项目路径下输入npm run serve

  • 运行项目方式二:pycharm运行

package.json中

"scripts": {
    "serve": "vue-cli-service serve",  # 运行项目
    "build": "vue-cli-service build",  # 编译项目成html,css,js
    "lint": "vue-cli-service lint"     # 代码格式化
},

目录

# 目录介绍
	-myfirstvue   # 项目名字
  	-node_modules  # 放着当前项目所有的依赖,可以删除,删除项目运行不了了,npm install 把该项目的依赖再装上,把项目发给别人,提交到git上,文件夹要删掉
    -public   # 文件夹
    	-favicon.icon  # 小图标
      -index.html   # 单页面开发,整个项目就这一个页面,以后不要动
    -src     # 以后咱们都是在这里面写东西
    	-assets  # 放静态资源,图片,js,css
      -components  # 组件,xx.vue组件,小组件,给页面组件用
      	-HelloWorld  # 提供的默认组件,示例
      -router     # vue-router就会有这个文件夹
      	-index.js   # vue-router的js代码
      -store      # vuex 就会有这个文件夹
      	-index.js   # vuex 的js代码
      -views     # 组件,页面组件
      	-About
        -Home   # 默认提供了示例组件
      -App.vue   # 根组件
      -main.js   # 项目的入口于
	 -.gitignore   # git的忽略文件
   -babel.config.js  # babel配置
   -package.json  # 项目的所有依赖,类似于  requirements.txt,不要删,npm install根据这个文件下载第三方模块
  -vue.config.js  # vue的配置

es6语法之导入导出

类似python中的导入包、模块,JS模块化开发,在其他JS中导入使用

导入语法

import 自定义名字 from '路径'
Eg:import Vue from 'vue'  //内置的
//如果是自定义的写自己的路径

导出语法

导出单个对象:export default 方法名/变量名 
eg:export default 变量名
    export default 方法名
导出多个对象:export default {key:value,key1:value1···}   //key自定义名字,value对象js文件中的方法名或变量名
eg:export default {name:name,printName:printName}
//key值也可以省略
export default {value,value1···}

注意:必须先导出之后才能导入使用

demo:

//导出:
let name = 'HammerZe'
function printName() {
    console.log(name)
}
// 把对象导出
export default {name:name,printName:printName}

//导入
//导出多个对象再导入使用的时候就可以通过对象.方法/变量使用
import settings from '路径'
settings.name
settings.printName()

导入导出包

导入出包和上面一样,导入包只导入到包这一层就可以了,比如:info包下的info.js文件导出,导入的路径只写到info就可以了

//导出
let name = 'HammerZe'
let age = 18
export default {name,age}

//导入
import info from  ./info
info.name
info.age

定义并使用组件

定义组件包括以下三部分:

第一部分:
-<template></template>  # 写原来模板字符串``,html内容
第二部分:
-<script></script>      # 写export default导出的对象
eg:
-<script>
    export default {
      data(){retrun {
        name:'mycomponent'
      }},
      methods:{},
    }
</script>
第三部分:
-<style scoped>   # scoped 样式只在当前组件中生效
</style>

组件在项目中如何使用,如下:

自定义组件mycomponent.vue

<template>
<div >
  <h2>{{name}}</h2>
  <button @click="handleClick">百度一下</button>
</div>
</template>

<script>
export default {
  name: "mycomponent",
  data(){
    return {
      name:'HammerZe'
    }
  },
  methods:{
    handleClick(){
      window.location.href="http://www.baidu.com"
    }
  }

}
</script>

<style scoped>
h2{
  background-color: tomato;
  align-content: center;
}
button{
  background-color: aqua;
}
</style>

重写AboutView.vue显示自定义组件

<template>
  <div>
<!--用在div里-->
    <mycomponent></mycomponent>
  </div>
</template>

<script>
// @ is an alias to /src
import mycomponent from '@/components/mycomponent.vue'
export default {
  name: 'AboutView',  //组件名一般和文件名一致
  components: {
    //注册自定义组件
    mycomponent
  }
}
</script>


集成Bootstrap,jQuery,Elementui

下载Bootstrap和jQuery

npm install bootstrap@3 -S
npm install jquery -S

配置Bootstrap和jQuery

Bootstrap配置

# 在main.js中配置
  	// bootstrap的配置
    import 'bootstrap'
    import 'bootstrap/dist/css/bootstrap.min.css'

jQuery配置

# vue.config.js中配置
 const {defineConfig} = require('@vue/cli-service')
    const webpack = require("webpack");
    module.exports = defineConfig({
        transpileDependencies: true,
        configureWebpack: {
            plugins: [
                new webpack.ProvidePlugin({
                    $: "jquery",
                    jQuery: "jquery",
                    "window.jQuery": "jquery",
                    "window.$": "jquery",
                    Popper: ["popper.js", "default"]
                })
            ]
        },
    })

下载elementui

npm install element-ui -S

配置elementui

# 在main.js 配置

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

使用在组件中使用就可以了~


使用axios与后端交互

# 第一步,安装
    npm install axios -S
    
# 第二步:main.js 配置
# 导入
import axios from 'axios'
# 类的原型中放入变量
Vue.prototype.$axios = axios;

# 第三步:在任意组件中使用
# this.$axios   就是axios对象
this.$axios.get().then(res=>{})

如果,没有在main.js中配置,使用如下

import axios from 'axios'
axios.get('').then(res=>{})

有关Vue-CLI 项目搭建的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  4. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  5. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  6. ruby - 如何在 Ruby 字符串中插入项目符号字符? - 2

    我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195

  7. ruby - 在 Rails 项目中测试本地版本的 gem - 2

    我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行​​bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正

  8. ruby - 如何在 Ruby 中执行 Windows CLI 命令? - 2

    我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解

  9. ruby - 合并 nanoc 中的项目 - 2

    我一直在尝试使用nanoc用于生成静态网站。我需要组织一个复杂的排列页面,我想让我的内容保持干燥。包含或合并的概念在nanoc系统中如何运作?我已阅读文档,但似乎找不到我想要的内容。例如:我如何获取两个部分内容项并将它们合并到一个新的内容项中。在staticmatic您可以在您的页面中执行以下操作。=partial('partials/shared/navigation')类似的约定在nanoc中如何运作? 最佳答案 这里是nanoc的作者。在nanoc中,部分是布局。因此,您可以拥有layouts/partials/shared/

  10. Ruby 和指南针路径与 yeoman 项目 - 2

    我安装了ruby​​、yeoman,当我运行我的项目时,出现了这个错误:Warning:Running"compass:dist"(compass)taskWarning:YouneedtohaveRubyandCompassinstalledthistasktowork.Moreinfo:https://github.com/gruUse--forcetocontinue.Use--forcetocontinue.我有进入可变session目标的路径,但它不起作用。谁能帮帮我? 最佳答案 我必须运行这个:geminstallcom

随机推荐