参考地址:

学习webpack创建vue项目1 vue-loader vue-style-loader css-loader

从零开始搭建一个简单的基于webpack的vue开发环境

全局安装webpack

npm i webpack -g
npm i webpack-cli -g

这是我的调试版本,如果版本不一样可能会有差异

初始化文件

安装vue webpack webpack-dev-server

npm init -y
cnpm i vue -S
cnpm i webpack webpack-dev-server -D

依次新建index.html、webpack.config.js、src 文件夹,src/main.js,最后得到的目录如下:

引入vue

按以下内容填充文件

main.js

import Vue from 'vue';var app = new Vue({el: '#app',data: {message: 'Hello Vue!'}
});

index.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><div id="app">{{message}}</div><script src="/dist/build.js"></script></body></html>

webpack.config.js

var path = require('path');module.exports = {entry: './src/main.js',output: {path: path.resolve(__dirname, './dist'),publicPath: '/dist/',filename: 'build.js'},devServer: {historyApiFallback: true,overlay: true},resolve: {alias: {'vue$': 'vue/dist/vue.esm.js'}}
};

修改package.json

...
"scripts": {"dev": "webpack-dev-server --open --hot","build": "webpack --progress --hide-modules"},
...

运行npm run dev 页面显示 Hellow Vue,说明vue 引入成功

如何使用.vue 文件

安装模板编辑器

cnpm i vue-loader vue-template-compiler -D

根目录下新建App.vue 文件

<template><div id="app"><h1>{{ msg }}</h1><input type="text" v-model="msg"></div>
</template>
<script>
export default {name: 'app',data () {return {msg: 'Welcome to Your Vue.js'}},created() {console.log(333)},}
</script>

修改webpack.config.js

var path = require('path');
const VueLoaderPlugin = require('vue-loader/lib/plugin')module.exports = {...plugins: [// 请确保引入这个插件!new VueLoaderPlugin()],module: {rules: [{test: /\.vue$/,loader: 'vue-loader'}]}
};

修改main.js

import Vue from 'vue';
import App from '../App.vue';new Vue({el: '#app',template: '<App/>',components: { App }
})

运行npm run dev, 页面正常显示。说明.vue 文件使用成功

引入sass(因为vue 一般都配合sass使用,所以这里就先只学习下引入sass)

cnpm i node-sass css-loader vue-style-loader sass-loader --save-dev

修改webpack.config.js

var path = require('path');
var webpack = require('webpack');module.exports = {...module: {rules: [{test: /\.css$/,use: ['vue-style-loader','css-loader'],},{test: /\.scss$/,use: ['vue-style-loader','css-loader','sass-loader'],},{test: /\.sass$/,use: ['vue-style-loader','css-loader','sass-loader?indentedSyntax'],}]}
};

此时不管是.vue文件中的style

还是单个引入的scss文件

都能在页面上看到效果了

完成的代码地址

https://gitee.com/amazing_steven/use.vue.git

遇到的问题

问题1:Cannot find module 'webpack-cli/bin/config-yargs'

npm run dev 运行后遇到以下错误

解决方式:

查找资料发现是,webpack 和 webpack-dev-server 这几个版本冲突

调整到以下版本后再运行即可

  "devDependencies": {"webpack": "^3.4.1","webpack-cli": "^3.1.2","webpack-dev-server": "^2.9.7"}

问题2: Cannot find module "vue"

此时我的package.json 和webpack.config.js 如下

package.json

{"name": "vue","version": "1.0.0","description": "","main": "index.js","scripts": {"dev": "webpack-dev-server --open --hot","build": "webpack --progress --hide-modules"},"keywords": [],"author": "","license": "ISC","dependencies": {"vue": "^2.6.12"},"devDependencies": {"webpack": "^3.4.1","webpack-cli": "^3.1.2","webpack-dev-server": "^2.9.7"}
}

webpack.config.js

var path = require('path');
var webpack = require('webpack');module.exports = {entry: './src/main.js',output: {path: path.resolve(__dirname, './dist'),publicPath: '/dist/',filename: 'build.js'},devServer: {historyApiFallback: true, // 用于如果找不到界面就返回默认首页,默认为index.htmloverlay: true // 将错误显示在html上},resolve: {extensions: ['.js', '.vue', '.json'],alias: {'vue$': 'vue/dist/vue.esm.js'}}
};

解决方式:

根据提示是vue未引入,所以先是定位到 'vue$': 'vue/dist/vue.esm.js',后来才发现,需要再安装下vue (这里不是很理解,已经npm i vue -S 过了,但是为什么没有生效,还需要-D)

cnpm i vue -D

再运行 npm run dev ,查看页面发现已经生效

问题3:TypeError: resolverFactory is not a function

解决方式:

产生以上错误的原因是因为sass-loader 的版本太高,将sass-loader降低版本即可(node-sass,css-loader 也需要降低到合适的版本)

运行命令

cnpm i sass-loader@7.3.1 -D
cnpm i node-sass@4.13 -D
cnpm i css-loader@3.2.0 -D

此时的package.json 配置

..."dependencies": {"vue": "^2.6.12"},"devDependencies": {"css-loader": "^3.2.0","node-sass": "^4.13.1","sass-loader": "^7.3.1","vue": "^2.6.12","vue-loader": "^15.9.5","vue-style-loader": "^4.1.2","vue-template-compiler": "^2.6.12","webpack": "^3.4.1","webpack-cli": "^3.1.2","webpack-dev-server": "^2.9.7"}

利用webpack简单搭建 .vue环境相关推荐

  1. vue-router路由、mixin混入、vue-resource、axios、计算属性watch、moment.js、vuex、vue-cli、数据双向绑定、搭建vue环境、vue实例、配置启动项

    路由vue-router介绍: // 1.前端路由核心:锚点值的改变,根据不同的锚点值,渲染指定dom位置的不同数据.// 2.vue中,模板数据不是通过ajax请求的,而是调用函数获取到模板内容// ...

  2. win10安装和搭建vue环境

    win10安装和搭建vue环境 安装nodejs 配置环境变量 安装vue 配置淘宝镜像 安装nodejs 在安装Vue环境之前,首先需要安装Nodejs,然后通过npm命令安装vue.官方的说法是: ...

  3. Android-黄油刀ButterKnife依赖注入源码,APT自动生成代码,利用javapoet语法搭建编译环境,建立MVP中空指针的保护机制

    基本环境搭建(auto&javapoet) 一.API采取背景,举例 主要为了解决客户端MVP架构中,V层和P层生命周期不同步时,生成空View保护性逻辑. 之前需要手写空View的代码,现在 ...

  4. 利用rpm包搭建lamp环境及论坛的创建

    一.利用rpm包搭建Lamp环境 安装过程 1. 安装apche服务 yum install httpd –y 2.安装mysql数据库 yum install mysql mysql-server ...

  5. 搭建vue环境(IDea)

    目录 一.搭建vue环境 二.IDea 1. 进入IDea点击Terminal,先测试环境是否搭建成功 2. 下载使用yarn 3. 创建vue项目 4. 启动项目 注意:本人仅作为学习笔记进行记录, ...

  6. 基于 Webpack 4 搭建 Vue 开发环境

    自从工作之后,就已经很久没有写过博客了.时间被分割得比较碎,积累了一段时间的学习成果,才写下了这篇博客. 之前有写过 Webpack4 的文章,但是都比较偏入门,唯一的一篇实战篇 -- 基于Webpa ...

  7. ecology9 后端开发环境搭建_利用Vagrant快速搭建开发环境

    Docker大家应该都了解吧,一个非常方便的技术,可以让我们随时随地部署应用.但是部署应用虽然方便了,开发环境的搭建还是那样的,要自己安装一大堆软件.那么有没有类似的工具可以方便我们呢?这就是本文要的 ...

  8. vue-element(一)搭建vue环境

    一.安装node环境 下载地址为:https://nodejs.org/en/ 是一个exe应用程序,直接安装即可 检查安装结果: node -v 出现版本号,说明安装成功!! 为了提高我们的效率,可 ...

  9. win10安装和搭建vue环境(超详细教程)Vue新手教程(1):

    PS:笔者为计科专业研一在读,最近打算学习Vue,踩了许多坑,在此将学习过程分享出来,后续还会持续更新. 一.安装Vue环境 首先,在安装Vue环境之前,我们首先需要安装npm这个玩意. 那么npm这 ...

最新文章

  1. python基础-函数(9)
  2. 启用不安全的HTTP方法解决方案
  3. ubuntu执行编译好的文件显示文件不存在_嵌入式开发 | 什么是交叉编译(CROSS_COMPILE)...
  4. ubuntu 14 nginx php,ubuntu14.04安装nginx+php5-fpm
  5. jeecg开源社区第12期架构学习班开始报名了
  6. 中国移动神州行5元卡普遍缺货
  7. TimeSpan 用法 求离最近发表时间的函数
  8. 【华为云技术分享】大数据容器化成趋势,华为云BigData Pro一马当先
  9. 腾讯QQ PC版9.1.7正式版上线 有些“老”功能越来越好用了
  10. GNOME API 参考
  11. 如何删除gmail快捷链接?
  12. Caffe学习:Forward and Backward
  13. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅵ
  14. 使用idea中JD-Intellij插件反编译
  15. flash模拟器调全屏_模拟全屏或调暗背景
  16. 使用tushare计算北上资金持仓成本
  17. 科学计算法(机器学习)----决策树定义以相关概念
  18. w8电脑桌面计算机不见了,w8桌面上我的电脑图标不见了怎么办
  19. 使用CE找天龙八部基址(图解)毛头小伙制作
  20. Ubuntu Desktop gedit

热门文章

  1. 台式计算机里的电池有啥用,电脑上的纽扣电池到底有什么用?需要更换吗?
  2. [小O地图-网抓]- 58同城二手房数据
  3. QTday2,窗口化界面的制作
  4. linux软件安装管理ppt,学习情境3 安装管理linux软件.ppt
  5. 60分钟搞定,基于ResNet和Azure GPU加速的肺癌CT图像识别
  6. 【每天学点管理】——强化理论
  7. 高德地图定位按钮位置显示
  8. 大师教你不用钱也能买大楼!!
  9. 8位12指令硬布线CPU设计
  10. python 欧氏距离_计算Python Numpy向量之间的欧氏距离实例