需要先安装好nodejs和npm
输入下面的命令查看是否成功安装
node -v
npm -v
一、开始
工作目录:IdeaProjects
使用idea新建Static Web项目:demo
在demo目录下新建node_modules文件夹
因为后面node_modules中的内容太多,并且我们不会用到,所以在idea中右键该文件夹,选择Mark Directory as - Excluded
打开命令提示符
首先安装使用淘宝npm镜像:
npm i -g cnpm --registry=https://registry.npm.taobao.org
如果权限不够,请使用管理员运行命令提示符
安装vue-cli,vue脚手架:
cnpm i -g vue-cli
测试是否安装成功:
vue -V
二、安装
进入我们的工作目录:
cd ~/IdeaProjects/
使用脚手架安装项目:
vue init webpack demo
提示目录已存在,是否继续:Y Project name(工程名):回车 Project description(工程介绍):回车 Author:作者名 Vue build(是否安装编译器):回车 Install vue-router(是否安装Vue路由):回车 Use ESLint to lint your code(是否使用ESLint检查代码,我们使用idea即可):n Set up unit tests(安装测试工具):n Setup e2e tests with Nightwatch(也是测试相关):n
Should we run `npm install` for you after the project has been created? (recommended):选择:No, I will handle that myself
三、初始化
进入项目目录:
cd demo
初始化项目:
cnpm i
运行项目:
cnpm run dev
浏览器打开:localhost:8080,即可看到vue项目
Ctrl+C退出运行
安装项目依赖,分别是scss支持,ajax工具,element ui,两个兼容包
cnpm i node-sass -D
cnpm i sass-loader -D
cnpm i axios -D
cnpm i element-ui -D
cnpm i babel-polyfill -D
cnpm i es6-promise -D
配置idea
File - Settings - Languages&Frameworks - JavaScript:修改JavaScript language version为ECMAScript 6,确认
File - Settings - Plugins:搜索vue,安装Vue.js
Run - Edit Configurations...:点击加号,选择npm,Name为Dev,package.json选择你工程中的package.json,Command为run,Scripts为dev,然后就可以直接在idea中运行了。
继续点击加号,选择npm,Name为Build,package.json选择你工程中的package.json,Command为run,Scripts为build,然后就可以直接在idea中打包了。
修改项目配置
修改/config/index.js文件,找到
port: 8080 修改为 port: 8070
productionSourceMap: true 修改为 productionSourceMap: false
修改/build/webpack.base.conf.js文件,找到
module.exports = { entry: { app: './src/main.js' }, 修改为 module.exports = { entry: { app: ['babel-polyfill', './src/main.js'] },
最后在src/main.js中加入
import 'es6-promise/auto'
import promise from 'es6-promise' import Api from './api/index.js' import Utils from './utils/index.js' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.prototype.$utils = Utils; Vue.prototype.$api = Api; Vue.use(ElementUI);
这样,一个差不多完整的vue项目就ok啦,并且可以在idea中编辑和运行。
注:使用static里的文件尽量使用绝对路径,如/static/image/background.png
使用src里的文件则尽量使用相当路径。
附(我的vue项目结构):
src文件夹
├── App.vue // APP入口文件 ├── api // 接口调用工具文件夹 │ └── index.js // 接口调用工具 ├── components // 组件文件夹 ├── frame // 子路由文件夹 ├── main.js // 项目配置文件 ├── page // 页面组件文件夹 ├── router // 路由配置文件夹 │ └── index.js // 路由配置文件 ├── style // scss 样式存放目录 │ ├── base // 基础样式存放目录 │ │ ├── _base.scss // 基础样式文件 │ │ ├── _color.scss // 项目颜色配置变量文件 │ │ ├── _mixin.scss // scss 混入文件 │ │ └── _reset.scss // 浏览器初始化文件 │ ├── scss // 页面样式文件夹 │ └── style.scss // 主样式文件 └── utils // 常用工具文件夹 └── index.js // 常用工具文件
static文件夹
├── css // css文件夹 ├── js // js文件夹 ├── image // 图片文件夹 └── font // 字体文件夹
scss引入方法,例
<style lang="scss"> @import "./style/style.scss"; </style>