资讯专栏INFORMATION COLUMN

从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一)

rainyang / 710人阅读

摘要:从零开始搭建一个项目一搭建一个可靠成熟的项目介绍我是去年六月份接触的,当时还是个菜逼,当然现在也是,写了一年,抄代码的时候一直是,在别人的框架基础上开发,然后渐渐发现很多的模板都各有优点,所以慢慢的开始集合到了一起。

从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一) 1.vue-cli搭建一个可靠成熟的项目 1.介绍

vue-cli

我是去年六月份接触的vue1.0,当时还是个菜逼,当然现在也是,写了一年,抄代码的时候一直是copycopy,在别人的框架基础上开发,然后渐渐发现很多vue-start的模板都各有优点,所以慢慢的开始集合到了一起。

使用vue-cli从零开始搭建的话,一些webpack配置也可以让自己明白webpack其实可以做更多的事情。

在使用vue的过程中,转行做了ng4半年左右,对vue也有了更深的理解。

还有一个cooking-cli,配置更简单,假如不想看webpack的复杂配置,可以直接跳到第二篇文章。

2.配置node、webpack

node + webapack

webapck需要node提供服务,并且需要npm安装,所以先下载一个node

安装node

node下载

mac推荐下载最新稳定版,windows下载最新版本

下载完成后,打开命令行,输入npm -v 确认安装完成(安利一个命令行工具,同时具备git bash -- ConEmu)

命令行全局安装webpack + vue-cli

npm太慢的话,可以使用cnpm或者yarn(这步可以略过,下面是cnpm的安装,此后npm命令变成cnpm)

    npm install -g cnpm --registry=https://registry.npm.taobao.org    

安装webpack + vue-cli

    npm install -g webpack vue-cli
3.开始构建项目

vue-cli搭建项目

讲解部分webpack配置文件

讲解项目目录

配置路由以及路由文件

构建完成

初始化项目

打开cmd工具 cd /你的项目目录 例:cd f:/plugins

vue init webpack vue-start

这里其实可以一路回车,然后项目就构建好了,稍微讲解一下这些配置吧

? Project name vue-start //你的项目名称
? Project description A Vue.js project // 你的项目描述
? Author 小帅  // 作者的名称
? Vue build standalone // 这个直接选前者,毕竟是推荐
? Install vue-router? Yes // 是否安装vue-router 选是
? Use ESLint to lint your code? No // 是否使用eslint管理代码,个人项目不推荐,不然你还会想办法关掉它
? Setup unit tests with Karma + Mocha? No // 是否使用karma + mocha 否 因人而异吧,我基本不写测试代码
? Setup e2e tests with Nightwatch? No // 是否安装e2e测试 否

然后

cd vue-start // 进入项目目录
npm i //安装项目依赖
npm run dev // 开始!

我们直接来看看项目目录,分析一下,推荐编辑器vscode,这里有一大波vscode的插件!

目录解析

build -- 这个文件夹大部分是webpack的配置文件

config -- 一些配置文件,比如配置监听端口

node_modules -- 你的依赖包都在这里

src -- 主工程文件夹,基本上所有的开发都在这个文件夹进行

static -- 静态文件目录

package.json -- 这个文件是项目的一些配置信息

这篇文章就不做更多的剖析了,直接进入实战吧

npm run dev之后 会自动打开一个浏览器,但是我觉得这个设定我不喜欢,先把这个功能给禁了吧

build/dev-server.js 73行开始

devMiddleware.waitUntilValid(() => {
  console.log("> Listening at " + uri + "
")
  // when env is testing, don"t need open it
  if (autoOpenBrowser && process.env.NODE_ENV !== "testing") {
    opn(uri)
  }
  _resolve()
})

把这行代码直接注释掉
  // if (autoOpenBrowser && process.env.NODE_ENV !== "testing") {
  //   opn(uri)
  // }

现在打开浏览器 localhost:8080 项目已经可以运行了

命令行ctrl + c退出进程 现在来试试打包

先安装一个插件anywhere 这个是提供http服务的 直接npm i -g anywhere

安装完成后直接来测试生产环境,先把生产环境配置好,以后省功夫

cmd输入 npm run build && anywhere

然后浏览器输入 http://localhost:8000/dist/ 然后发现页面并没有预期的效果,审查元素可以看出js的路径都错了,这个时候需要修改一个配置文件

config/index.js

module.exports = {
  build: {
    env: require("./prod.env"),
    index: path.resolve(__dirname, "../dist/index.html"),
    assetsRoot: path.resolve(__dirname, "../dist"),
    assetsSubDirectory: "static",
    assetsPublicPath: "/",
    productionSourceMap: true,
    // Gzip off by default as many popular static hosts such as
    // Surge or Netlify already gzip all static assets for you.
    // Before setting to `true`, make sure to:
    // npm install --save-dev compression-webpack-plugin
    productionGzip: false,
    productionGzipExtensions: ["js", "css"],
    // Run the build command with an extra argument to
    // View the bundle analyzer report after build finishes:
    // `npm run build --report`
    // Set to `true` or `false` to always turn it on or off
    bundleAnalyzerReport: process.env.npm_config_report
  },
  dev: {
    env: require("./dev.env"),
    port: 8080,
    autoOpenBrowser: true,
    assetsSubDirectory: "static",
    assetsPublicPath: "/",
    proxyTable: {},
    // CSS Sourcemaps off by default because relative paths are "buggy"
    // with this option, according to the CSS-Loader README
    // (https://github.com/webpack/css-loader#sourcemaps)
    // In our experience, they generally work as expected,
    // just be aware of this issue when enabling this option.
    cssSourceMap: false
  }
}

把build(生产环境)的assetsPublicPath修改为相对路径 也就是修改为
assetsPublicPath: "./"

然后重新运行一次 npm run build && anywhere

这个时候就可以看到和开发环境一样的效果了,这就是线上的环境

本篇文章就介绍到这里 下一篇文章将会介绍如何配置图片的路径,以及路由配置。

一个团结互助的讨论组,专注前端三十年!


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83212.html

相关文章

  • 从零开始搭建vue项目 -- vue-cli/cooking-cli(二)

    从零开始搭建一个vue项目 -- vue-cli/cooking-cli(二) 1.配置图片路径 图片的路径有多种方法,第一种是直接把图片放在根目录的 static 文件夹下,引入的路径是 /staic/img ,这种方法的缺点在于webpack不会识别根目录,所以发布的时候需要手动把图片文件夹添加进去 第二种方法是配置webpack, 在/build/webpack.base.conf.js文件...

    0xE7A38A 评论0 收藏0
  • 集: 从零开始实现套pc端vue的ui组件库(环境的搭建)

    摘要:第一集从零开始实现环境的搭建工程定位本套工程定位在端针对的组件库名字的由来是我从年养到现在的一直大金毛是我的吉祥物原因本人上一份工作参与了大型的保险公司后台管理系统的搭建对的端框架有过一定的了解感受到了他们真的很强大同时也存在少许的不足其实 第一集: 从零开始实现(环境的搭建) 工程定位: 本套工程, 定位在pc端针对vue的ui组件库 名字的由来 cc是我从2015年养到现在的...

    Ashin 评论0 收藏0
  • 前端之从零开始系列

    摘要:只有动手,你才能真的理解作者的构思的巧妙只有动手,你才能真正掌握一门技术持续更新中项目地址求求求源码系列跟一起学如何写函数库中高级前端面试手写代码无敌秘籍如何用不到行代码写一款属于自己的类库原理讲解实现一个对象遵循规范实战手摸手,带你用撸 Do it yourself!!! 只有动手,你才能真的理解作者的构思的巧妙 只有动手,你才能真正掌握一门技术 持续更新中…… 项目地址 https...

    Youngdze 评论0 收藏0
  • 从零开始搭建vue-ssr(下)

    摘要:开始改建补充安装依赖与上一次不同,这次我们基于进行改建,已经有了很多依赖库了,但我们任需要补充一个核心修改客户端的配置修改文件,添加插件添加了这个配置以后,重新启动项目通过地址就可以访问到,页面中出现的内容就是所需要的。 从零开始搭建一个vue-ssr 前言 上次我们已经实现了从零开始,搭建一个简单的vue-ssr的demo:从零开始搭建一个vue-ssr(上)。那么这次呢,我们基于v...

    Jochen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<