网站首页 > 博客文章 正文
开发工具:VS Code,Node..js
工具版本:node v14.17.0;npm v6.14.13
开发准备:
- VS Code 不能新建工作区,先新建文件夹 vue-admin,将工作区另存到该文件夹,如此就新建了一个工作区 vue-admin
- 点击顶部--菜单栏--终端,在下方输入 npm init ,并回车
初始化过程中,需要配置一些作者信息等参数,鉴于本次项目是本地项目,直接回车,默认就行,初始化完成后,根目录下将会出现 .json 文件:package.json 和 package-lock.json,package-lock.json 是默认文件,不要修改,配置需要在package.json中配置。
- 新建一个src文件目录,放置需要的文件
- 在根目录新建一个文件-- webpack.config.js
模块安装:
本次安装模块,都是后续会用到的,建议全部安装
安装方式:在最下方的终端中:npm i 模块名@版本,如:npm i vue-loader@15.9.7
(也可以不指定版本,默认就是最新的版本)
将以上模块安装完成后,在src目录下,新建 app.vue,index.html,index.js
其中,将以下代码复制到文件中
app.vue
<template>
<div class="test">{{text}}</div>
</template>
<script>
export default {
data() {
return {
text: 'hello'
}
}
}
</script>
<style lang="scss">
.test{
color: red;
}
</style>
index.js
import Vue from 'vue'
import App from './app.vue'
const root = document.createElement('div')
document.body.appendChild(root)
new Vue({
render:(h) => h(App)
}).$mount(root)
当然到现在,还不够,.vue 文件不能直接在浏览器访问,这个时候就用到前面安装的模块了
本次需要先对vue文件进行打包:
在package.json 文件中,添加一行新脚本
"build": "webpack --config webpack.config.js",
配置webpack.config.js
const path = require('path')
const { VueLoaderPlugin } = require('vue-loader')
module.exports = {
// 配置入口
entry: path.join(__dirname, 'src/index.js'),
// 配置输出目录,输出文件名
output: {
filename: 'bundle.js',
path: path.join(__dirname, 'dist')
},
devServer: {
// 配置访问路径,端口。设置热部署
contentBase: path.join(__dirname, "/"),
host: 'localhost',
port: '8081',
hot: true
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
// 设置支持scss,编译工具
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader']
}
]
},
plugins: [
new VueLoaderPlugin()
]
}
最后在下方终端使用
npm run build
打包项目,完成后查看根目录下,是否已经存在一个dist目录
配置 index.html
<!DOCTYPE html>
<html>
<head>
<title>
测试页面
</title>
</head>
<body>
<script src="../dist/bundle.js"></script>
</body>
</html>
如此,这个项目都基本完成了,整体目录结构如下
运行项目前,还需要在 package.json 中添加一行启动脚本
"start": "webpack serve --mode development"
最后在下方终端中,输入代码
npm run start
在浏览器地址栏输入
http://localhost:8081/src/index.html
访问上面页面,就是访问成功了。。。
使用模块详解
webpack-dev-server 主要提供两个功能:
- 为静态文件提供web服务
- 自动刷新和热替换(HMR),自动刷新指当修改代码时webpack会进行自动编译,更新网页内容,热替换指运行时更新各种模块,即局部刷新
- 使用方式,配置脚本文件 webpack serve -参数
猜你喜欢
- 2024-10-21 IntersectionObserver: 教你如何实现一个Vue无限滚动的组件
- 2024-10-21 支持服务器端渲染的移动端Vue组件——NutUI
- 2024-10-21 循序渐进Vue+Element 前端应用开发(6)—常规Element界面组件使用
- 2024-10-21 vue动态路由(支持嵌套路由)和动态菜单UI开发框架,无偿源码
- 2024-10-21 1小时搞定卡片拖拽、自动排列交换位置、拖拽数据存取
- 2024-10-21 如何使用 vue + intro 实现后台管理系统的新手引导
- 2024-10-21 零基础入门vue开发(vue开发步骤)
- 2024-10-21 前端路由与vue-router的基本用法(前端路由实现的两种方式)
- 2024-10-21 Electron-vue客户端开发总结(electron-vue官网)
- 2024-10-21 史上最全 vue-router 讲解 !!!(vue,router)
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 358℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)