webpack+vue+koa+mongoDB,从零开始搭建一个网站

news/2024/4/28 22:31:52/文章来源:https://blog.csdn.net/weixin_33801856/article/details/88800518

github 地址 https://github.com/wangxiaoxi...

webpakc+vue的搭建
1.新建项目文件夹(see-films);
2.npm init //初始化项目
3.搭建webpack的基本框架

const path = require("path");
const webpack = require("webpack");
module.exports = {entry:{entry:"./src/entry.js"},output:{path:path.resolve( __dirname,"dist" ),filename:"[name].js"},module:{},plugins:[],devServer:{    }
};

同时安装依赖

npm i -D webpack(版本号4.14.0)  
npm i -D webpack-cli 

4.webpack的热更新

npm i -D webpack-dev-server 
devServer:{    contentBase:path.resolve( __dirname,"dist" ),host:"127.0.0.1",compress:true,port:9001}

创建一个src文件夹,创建一个entry.js文件测试能否打包,发现报错 缺少mode
在webpacl.config.js文件里面的入口entry上面加上mode:"development",现在先是在本地跑起来,如果是生产环境的话mode:"production",此时再进行打包----打包成功。第一步完成。

5.安装模板文件依赖
npm i -D html-webpack-plugin
在webpack.config.js文件中的plugins中
plugins:[

    new htmlPlugin({minify:{removeAttributeQuotes:true},hash:true,template:"./src/index.html"})
]

在src文件夹下面创建index.html
然后webpack测试能否打包成功
此时的目录结构是这样子的!

图片描述

6.vue的搭建!!!

根目录新建文件夹client
创建文件 main.js和App.vue
在根目录创建index.html
然后修改webpack.config.js文件中的入口和plugin插件的模板

并安装依赖
npm i -S vue
npm i -D vue-template-complier
npm i -D extract-text-webpack-plugin
npm i -D vue-loader vue-style-loader css-loader

此时的webpack.config.js是这样的

const path = require("path");
const webpack = require("webpack");
const htmlPlugin = require("html-webpack-plugin");
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
module.exports = {mode:"development",resolve: {extensions: ['.js', '.vue', '.json'],alias: {'vue$': 'vue/dist/vue.esm.js'}},entry:{entry:"./client/main.js",vue:"vue"},output:{path:path.resolve( __dirname,"dist" ),filename:"[name].js"},module:{rules:[{test: /\.vue$/,loader: 'vue-loader',options: {loaders: {css: ExtractTextPlugin.extract({use: {loader: 'css-loader'},fallback: 'vue-style-loader'})}}}]},plugins:[new htmlPlugin({minify:{removeAttributeQuotes:true},hash:true,template:"./index.html"}),new VueLoaderPlugin(),new ExtractTextPlugin("css/index.css")],devServer:{    contentBase:path.resolve( __dirname,"dist" ),host:"127.0.0.1",compress:true,port:9001}
};

到此处就是一个最基础的vue架构;
此时的目录结构如下
图片描述

看到这里,相信你也测试过,然后发现有个问题,就是在.vue文件里面的style中对样式进行修改会报错,原因是webpack4.x版本得使用mini-css-extract-plugin代替原来的extract-text-webpack-plugin,修改之后如下

const path = require("path");
const webpack = require("webpack");
const htmlPlugin = require("html-webpack-plugin");
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");module.exports = {devtool:"cheap-module-eval-source-map",mode:"development",resolve: {extensions: ['.js', '.vue', '.json'],alias: {'vue$': 'vue/dist/vue.esm.js'}},entry:{entry:"./client/main.js",vue:"vue"},output:{path:path.resolve( __dirname,"dist" ),filename:"[name].js",publicPath:"http://127.0.0.1:9001/"},module:{rules:[{test: /\.js$/,use: 'babel-loader',exclude: /node_modules/},{test: /\.css$/,use:[MiniCssExtractPlugin.loader,{loader: 'css-loader?modules=false',options: {importLoaders: 1,minimize: true}}]},{test: /\.vue$/,loader: 'vue-loader'}]},plugins:[new htmlPlugin({minify:{removeAttributeQuotes:true},hash:true,template:"./index.html"}),new VueLoaderPlugin(),new MiniCssExtractPlugin({filename: "[name].css",chunkFilename: "[id].css"})],devServer:{    contentBase:path.resolve( __dirname,"dist" ),host:"127.0.0.1",compress:true,port:9001}
};

7.VUE热更新

只需要安装vue-hot-reload-api依赖 配合就能够轻松实现。

8.VUE路由

安装vue-router 然后修改main.js如下,并在同层目录生成router.config.js,此时的就能根据你的喜好去建立路由了。

import Vue from 'vue';
import App from './App';import VueRouter from 'vue-router';
Vue.use(VueRouter);
import routes from './router.config.js';
const router = new VueRouter({routes: routes
});new Vue({el: '#app',router,components: { App },template: '<App/>'
})

9.KOA的引入和基础测试

const Koa = require('koa');
const Rrouter = require('koa-router');
const cors = require('koa2-cors');( async () => {const app = new Koa();app.use( cors() );const router = new Rrouter();router.get('/getFirstMessage',async ctx=>{ctx.body = {message:"get"} });app.use(router.routes()).use(router.allowedMethods());app.listen(9001 ,async ()=>{console.log("CONNECTED")});
} )()

http://127.0.0.1:9001/getFirstMessage
此时就能够通过接口拿到数据

10.改装路由---使用装饰器
图片描述
在server文件夹下建立如上文件夹和文件

npm i -S babel-core babel-plugin-transform-decorators-legacy babel-polyfill ramda lodash babel-preset-stage-0

/*装饰器注册*/
require('babel-core/register')();
require('babel-polyfill');const Koa = require('koa');/*该方法用来批量引入中间件*/
const useMiddlewares = require('./lib/useMiddlewares');( async () => {const app = new Koa();await useMiddlewares(app);app.listen(9001 ,async ()=>{console.log("CONNECTED")});
} )()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_773644.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商网站秒杀系统技术内幕

导读&#xff1a;最初的秒杀系统的原型是淘宝详情上的定时上架功能&#xff0c;由于有些卖家为了吸引眼球&#xff0c;把价格压得很低。但这给的详情系统带来了很大压力&#xff0c;为了将这种突发流量隔离&#xff0c;才设计了秒杀系统&#xff0c;文章主要介绍大秒系统以及这…

通通WPF随笔(2)——自己制作轻量级asp.net网站服务

原文:通通WPF随笔&#xff08;2&#xff09;——自己制作轻量级asp.net网站服务大学玩asp.net时就发现VS在Debug时会起一个web服务&#xff0c;这东西也太神奇了服务起得这么快&#xff0c;而相对于IIS又这么渺小。 前几个月在用phonegapjqmobi(被inter收购后叫App Framework)做…

Scrapy框架 之某网站产品采集案例

一、创建项目 第一步&#xff1a;scrapy startproject boyuan 第二步&#xff1a;cd boyuan scrapy genspider product -t crawl boyuan.com 如图&#xff1a; 二、代码编写 1、item.py # -*- coding: utf-8 -*-# Define here the models for your scraped items # # See docu…

介绍一个检索Oracle各版本新特性的网站

推荐一个Oracle官方介绍各个版本新特性的网站&#xff0c;地址如下&#xff1a;https://apex.oracle.com/database-features/从链接来看&#xff0c;是个apex的应用&#xff0c;界面清爽&#xff0c;一看就懂&#xff0c;左侧可选类型&#xff0c;包括Features和Licensing这两种…

怎么看一个网站被点击了多少次_影响外贸网站在谷歌排名的一些重要因素

点击上方蓝字关注我们外贸行业越来越火&#xff0c;现在很多传统的外贸企业纷纷从以往的线下转到了线上来了。打造一个营销型外贸网站&#xff0c;成为线上外贸的第一步&#xff0c;所以外贸网站优化就尤为重要。网站优化主要是针对谷歌去做&#xff0c;我们要清楚有哪些因素会…

大型网站技术架构(四)网站的高性能架构

2019独角兽企业重金招聘Python工程师标准>>> 网站性能是客观的指标&#xff0c;可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间&#xff0c;指从发出请求到最后收到响应数据所需要的时…

python部署到iis_在IIS上部署基于django WEB框架的python网站应用

django是一款基于python语言的WEB开源框架,本文给出了如何将基于django写的python网站部署到window的IIS上。笔者的运行环境&#xff1a;Window xp sp3IIS 5.1pywin32-217.win32-py2.7 (python的win32扩展)isapi_wsgi-0.4.2-py2.5 (http://code.google.com/p/isapi-wsgi/ …

网站性能工具Yslow的使用方法

Yslow是雅虎开发的基于网页性能分析浏览器插件&#xff0c;从年初我使用了YSlow后&#xff0c;改变了博客模板大量冗余代码&#xff0c;不仅提升了网页的打开速度&#xff0c;这款插件还帮助我分析了不少其他网站的代码&#xff0c;之前我还特意写了提高网站速度的秘籍&#xf…

github ssh 配置_教大家怎么用GitHub免费搭建自己的博客网站

先给你们看看个效果网站&#xff1a;https://www.a2data.cn/环境准备:Node.jsHexoGitGitHub SSH keyTypora (Md格式书写工具)idea(就是编辑工具,推荐webstorm)安装Node.js中文网&#xff1a;https://nodejs.org/zh-cn/download/官方网站&#xff1a;https://nodejs.org/en/直接…

网硕主机php升级,如何将phpwind8.7程序网站升级9.0方法

无忧主机小编真的很开心&#xff0c;在经过了这么多日子的测试&#xff0c;phpwind9.0终于正式发布了。无忧主机小编终于可以把自己的网站升级到最新的版本了。但是phpwind9.0整个架构都改版了&#xff0c;小编我也不敢乱升级&#xff0c;于是无忧主机小编参考了phpwind官方的升…

原始数据哪里找?这些网站要用好!200个国内外经济/金融/行研/咨询数据网站大全(附链接)...

本文约8000字&#xff0c;建议阅读10分钟本文为你提供200个国内外经济、金融、行研、咨询数据网。资料搜集是个相当繁琐与累的工作&#xff0c;也是投资入门的基本&#xff0c;良好的信息资料搜集能力有利于我们快速了解投资主体的基本情况&#xff0c;为后续的调研及一手资料的…

Linux运维基础(五):网站流量度量

IP IP(Internet Protocol)&#xff0c;这里指独立IP数。 独立IP数&#xff1a;一般一天内相同IP地址的客户端访问网页只会被记录一次&#xff0c;被计入的总次数为独立IP数。 记录独立IP数的时间可为一天&#xff0c;一个月&#xff0c;目前通用的标准为一天。 独立IP数与实际…

sdr 软件_软件定义无线电网站 sdr.hu 宣布关闭

软件定义无线电网站 sdr.hu 宣布关闭&#xff0c;站长给出的理由是这是一个个人业余爱好项目&#xff0c;他的关注点现在转移到了其他项目&#xff0c;既没有精力继续维护网站&#xff0c;也无法防止其被滥用。“防止被滥用”更像是一个来自当局施压的结果&#xff0c;许多人怀…

php签入html出来的影响seo吗_seo步骤优化师那个好

seo步骤优化师那个好很多人现在都在手机上运用语音搜索。物质的真实物质情形上&#xff0c;20&#xff05;的移动查问是语音搜索。语音搜索的重要性正在提升。由于这个&#xff0c;您需求着手思索问题很多人在执行语音搜索特殊情况运用的天然语言。并将您的发觉添加到关键字列表…

阿里云服务器搭建个人网站(●‘◡‘●)

云服务器搭建个人网站&#xff08;针对新手&#xff09; 转载地址&#xff1a;https://developer.aliyun.com/article/758856? ​ 简介&#xff1a; 首先&#xff0c;我们需要购买阿里云服务器和域名。域名建议用.com后缀的&#xff08;一般五十左右&#xff09;&#xff0c…

python sqlite3 带密码_Python爬虫+Flask,带你创建车标学习网站!超级吊有木有!

文化不分边界人&#xff0c;为什么要读书&#xff1f;举个例子: 当看到天边飞鸟&#xff0c;你会说&#xff1a;“落霞与孤鹜齐飞&#xff0c;秋水共长天一色。”而不是&#xff1a;“卧靠&#xff0c;好多鸟。”; 当你失恋时你低吟浅唱道&#xff1a;“人生若只如初见&#xf…

php刷网站关键词排名,网站关键词排名如何刷点击流量?

关于网站关键词排名刷点击流量从收录到排名再到引流一、收录问题在站长交流群里面我看了分享的原创文章&#xff0c;说实话从语言描述和逻辑上分析&#xff0c;的确是亲自敲打的文章&#xff0c;称之为原创也不为过&#xff0c;但是细细斟酌&#xff0c;会发现根本就是流水线&a…

webpack打包jquery多页_用webpack打包老网站(jquery切图)或重构浅谈!

随着前端技术的快速发展&#xff0c;前端技术栈也越来越复杂多样了。什么是webpack&#xff1f;他能干些啥&#xff1f;WebPack可以看做是模块打包机&#xff1a;它做的事情是&#xff0c;分析你的项目结构&#xff0c;找到JavaScript模块以及其它的一些浏览器不能直接运行的拓…

各类数据集网站收集

来源于&#xff1a;https://www.jianshu.com/p/42697d0d2fc1 1.Mall Dataset&#xff1a; http://personal.ie.cuhk.edu.hk/~ccloy/downloads_mall_dataset.html 2.ShanghaiTech https://pan.baidu.com/s/1nuAYslz WorldExpo 10 This paper is in cooperation with Shangha…

【服务器架构】十张图带你了解大型网站架构

目录 1、初始阶段的网站架构 2、应用服务和数据服务分离 3.使用缓存改善网站性能 4、使用应用服务器集群改善网站的并发处理能力 5、数据库读写分离 6、使用反向代理和CDN加上网站相应 7、使用分布式文件系统和分布式数据库系统 8、使用NoSQL和搜索引擎 9、业务拆分 …