问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

基于webpack 和 vue的单页面网站有哪些

发布网友 发布时间:2022-04-24 14:57

我来回答

1个回答

热心网友 时间:2022-04-07 15:47

1. 定义我们demo的基本目录
├── README.md
├── index.html // 项目入口文件
├── package.json // 项目配置文件
├── src // 生产目录
│ ├── vue // 组件
│ | ├──home.vue
│ | ├──blog.vue
│ | ├──about.vue
│ | ├──topic.vue
│ ├── components // 各种组件
│ ├── views // css文件
│ ├── scss //scss文件
│ └── main.js // Webpack 预编译入口
└── webpack.js // Webpack 配置文件

2. 配置一下我们的webpack.js文件
在介绍怎么配置之前你需要掌握一个命令 npm install <模块> --save-dev这个命令的意思是这个命名的意思是我们安装了这个包并且把它的基本信息写入目录的package.json文件。还有一个命令是我们直接运行cnpm install会自动下载package.json里面写入的包.
在webpack的配置文件我们需要用到四个npm的模块分别是:path,webpack,extract-text-webpack-plugin,vue-loader记得先下载包在用require命令引入进来
//node的路径模块
var path=require('path');
//我们是webpack当然要引入这个
var webpack = require('webpack');
//这个是构建页面资源的插件
var ExtractTextPlugin = require('extract-text-webpack-plugin');
//因为我们是vue.js的应用,把各个组件当做一个页面.vue后缀,所以引入这个可以编译这些文件
var vue = require("vue-loader");

好了,我们已经把需要的模块引入进来了,接下来我们定义一些接下来要用到的一些文件夹路径
//__dirname是node里面的一个变量,指向的是当前文件夹目录
var ROOT_PATH = path.resolve(__dirname);
//这个我们的文件入口,等下我们就会从main.js这个文件作为入口
var APP_PATH = path.resolve(ROOT_PATH, 'src/main.js');
//这个是文件打包出来的输出路径
var BUILD_PATH = path.resolve(ROOT_PATH, 'build');

基本的文件路径我们已经定义好了,接下来我们要用到extract-text-webpack-plugin这个插件了
var plugins = [
//提公用js到common.js文件中
new webpack.optimize.CommonsChunkPlugin('common.js'),
//将样式统一发布到style.css中
new ExtractTextPlugin("style.css"),
// 使用 ProvidePlugin 加载使用率高的依赖库
new webpack.ProvidePlugin({
$: 'webpack-zepto'
})
];

接下来是webpack的重点了loader,webpack的思想是把每个静态资源文件当做一个模块加载,我们需要做一些配置,在这里我们需要用到编译css,sass模块,多以我们还需要安装'css-loader','style-loader','node-sass','md5'
mole.exports = {
//文件的入口,还可以写成多数组的形式,具体自己扩展
entry:[APP_PATH],
//输出
output:{
//输出路径
path: BUILD_PATH,
//打包的js命名
filename:build.js'
// 指向异步加载的路径
publicPath : __dirname + '/build/',
// 非主文件的命名规则,加缓存用到md5
chunkFilename: '[id].build.js?[chunkhash]'
},
mole: {
loaders: [
{
test: /\.vue$/,
loader: 'vue',
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract("style-loader", 'css-loader')
},
{
test: /\.css$/,
loader: ExtractTextPlugin.extract("style-loader", "css-loader")
},
{
test: /\.(png|jpg)$/,
loader: 'url?limit=40000'
}
]
},
//这个特别说明下,vue提倡把一个组件当做一个页面,所以可能在一个页面写html,style,javascript,也可以引入和写scss文件
vue: {
css: ExtractTextPlugin.extract("css"),
sass: ExtractTextPlugin.extract("css!sass-loader")
},
plugins: plugins
}

3. 配置我们的入口文件main.js
这里我们需要三个npm模块,vue,vue-router,vue-resource三个模块,我们依次安装然后在引入
//vue的应用当然要引,等下要用它来注册
var Vue = require('vue')
//这个是路由,spa应用必要哦
var VueRouter = require('vue-router');
//这个是类似ajax请求,肯定要拉去数据啦,所以也下载吧
var VueResource = require('vue-resource');

在vue里面声明并注册个空组件
Vue.use(VueRouter);
Vue.use(VueResource);
var app = Vue.extend({});

实例化VueRounter
var router = new VueRouter({
// 当hashbang的值为true时,所有的路径都会被格式化已#!开头,
hashbang: true,
history: false,
saveScrollPosition: true,
transitionOnLoad: true
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巧师傅榴莲千层蛋糕(6寸500g)-适用对象 巧师傅 榴莲千层蛋糕 6寸 500g-马来西亚苏丹王榴莲肉,口感鲜甜软糯_百... 巧师傅榴莲千层蛋糕500g-精选苏丹王榴莲果肉,口感浓郁 巧师傅苏丹王榴莲千层蛋糕-适用对象 阿卡丽和卡特琳娜,哪一个比较好。 英雄联盟阿卡丽和卡特琳纳哪个比较好…为什么? 求大神分析 阿卡丽和卡特琳娜单挑 谁会赢? 河北5+3临床医学有哪些学校 ...块数比20多,比40少,5块5块地数正好数完,2块2块地数也正好数完?_百... ...比20小,它3个3个数或4个4个数都正好数完,这个数是多少..._百度知... 住酒店房间如何判断有无摄像头?我总是很敏感 小车被别人用油漆写字要怎么把字去掉 vue打包后提交ajax 显示failed to load file://f:/ 用什么代替红油漆写字 涂在墙上可以写字的漆是什么漆 vue+element-ui打包发布后 浏览器刷新空白页面显示 &lt;&lt;&lt; HEAD table字体... 去别人家要债在他家门口用红油漆写字犯法吗有什么后果 喷漆写字怎么写 有什么仪器可以检测到摄像头? 在墙上用油漆写字用什么笔 怎样抽离vue文件中的css 想在桶上用油漆写字,用什么笔好 用油漆往地下或墙上写字用什么 怎样配置才能让vuecli build后的静态文件放到子目录也能访问 vue启动地址端口后面加一级可以么? google 街景地图是不是没有了啊?记得以前可以用,现在怎么没有了呢,日本和台湾等地还有的 日本山中湖枫深庵全景图 日本迪斯尼乐园全景地图 哪有日本GPS地图下载? 有什么软件可以看日本地图,类似百度地图里中国地图一样详细 故意在人家门口用油漆写字违法吗 vue打包之后的vendor文件会有两个版本的vue vue cannot get / 是什么错 毛笔用油漆在纸上写字,字比纸面会凸出一点吗 怎样配置才能让vuecli build后的静态文件放到子目录也能访问?_百度知 ... assetspublicpath 什么意思 怎样用红漆在墙壁上写字 在城市的马路上用油漆写字违法吗,在公司受了工伤,公司耍赖不肯承认,我们又拿不出证据,做不了工伤认定 外墙被油漆写字怎么去除 石头上写字用什么油漆好 朵云书院小朋友怎么预约 云朵书店+上海中心怎么预约 上海云朵图书馆怎么预约 上海中心朵云轩书院要门票吗 朵云书院一个人预约可以进两个人嘛? 我教你怎么打卡上海中心大厦51层的朵云书院 朵云书院预约能带几人 上海中心书店叫什么名字 可以带相机进朵云书院(上海中心)吗? 上海斜土路打浦桥去云朵书院怎么去?