Vue cli + Development Server 如何开始一个中大型项目

中大型项目的基础

 

 

先跟大家放一张流程图 在我们运行我们Vuejs的时候 我们需要一个server 去抓取数据

不管你是本地运行还是线上运行 server才能串联整个文件

 

这里我们只是会用到server 但是我们不会去完成一个 

如果大家想看如何完成一个server 我也有几篇很详细的讲解:

Node.js WebSocket Server // 模式 应用 创建实时群聊天界面 https://blog.youkuaiyun.com/Cvan123/article/details/83461287

Node.js Express web frame// 最受欢迎的框架 Express          https://blog.youkuaiyun.com/Cvan123/article/details/83389252

这上面就是俩个基础的server搭建

 

Development workflow

中大型的项目我们有很多的文件要一并运行 给我们最基础的code加工 加入方程

workflow 确保我们将加工好的文件运输到server里面

好处:

让我们写出有规格的代码

减少压缩以后的文件大小

我们不用到了server 浏览器中再去运行 减少30%运算加载速度

 

Vue Cli

安装

你要先下载 node js

然后

npm install -g vue-cli

选择

你要选择一种模式

一般来说第二种满足个人需求

第三种加入一些css test

 

然后就是创建项目

vue init webpack-simple vue-cli

第三个arg是你选的model 第四个是创建文件夹

创好之后

npm install 去安装必要组件

再输入 npm run dev

这时候你的浏览器应该能自动进入 8000 host

 

我们来看这些命令我们创造了什么file  打开IDE

 

在这里 我们要谈论一个术语

Single File Template

这种文件允许我们在创造过程中 会帮我们编译HTML

它会包含 css template 和 JS 

能解决很多问题

 

<think>嗯,用户之前问过Webpack是什么,现在又问如何不用Vue CLI创建Vue项目。看来他们可能对Vue CLI的底层机制感兴趣,或者想要更自定义的配置。用户可能已经了解Vue CLI是基于Webpack封装的,现在想自己手动配置,以更深入理解项目结构,或者避免Vue CLI的一些默认设置带来的限制。 首先,我需要确保回答覆盖手动创建项目的步骤,可能包括初始化项目、安装依赖、配置Webpack和Babel,以及基本的项目结构。用户可能希望有一个逐步的指南,所以分步骤讲解会比较清晰。此外,用户可能关心为什么需要手动配置,比如更灵活的控制、学习目的或者特定需求,所以需要简要说明优点和适用场景。 同时,用户可能对比过Vue CLI的便捷性和手动配置的复杂性,需要强调两者的区别,比如配置时间、维护成本,以及手动配置带来的自由度。可能需要提到使用Vite作为替代方案,因为Vite也是一个热门工具,但用户明确问的是不用Vue CLI,所以重点还是在Webpack手动配置。 另外,用户可能对依赖的版本有疑问,比如Vue 3需要不同的loader或插件,所以需要明确指出各个依赖的作用和版本兼容性。比如vue-loader需要与Vue版本对应,可能需要提醒用户注意版本问题。 还需要考虑潜在的问题,比如如何处理静态资源、CSS预处理器、热更新等,所以在步骤中加入相关配置示例会有帮助。例如,配置Webpack的loader来处理.vue文件、CSS和图片资源,以及使用webpack-dev-server来启动开发服务器。 最后,可能需要总结手动配置的优缺点,帮助用户决定是否适合他们的项目。如果用户是新手,可能需要提醒他们手动配置的复杂性,建议在熟悉Vue生态后再尝试;如果是进阶用户,可以强调灵活性和深度定制的优势。</think>以下是不使用 Vue CLI 手动创建 Vue 项目的完整方案,通过 7 个步骤实现工程化配置: --- ### 一、**基础环境准备** 1. **初始化项目** ```bash mkdir my-vue-project && cd my-vue-project npm init -y # 生成 package.json ``` 2. **安装核心依赖** ```bash npm install vue@next # Vue 3 核心库 npm install webpack webpack-cli webpack-dev-server --save-dev # 构建工具链 npm install vue-loader@next @vue/compiler-sfc --save-dev # 单文件组件处理器 ``` --- ### 二、**项目结构搭建** ```text ├── src/ │ ├── App.vue # 根组件 │ ├── main.js # 入口文件 │ └── components/ # 组件目录 ├── public/ │ └── index.html # HTML 模板 ├── webpack.config.js # Webpack 配置 └── babel.config.json # Babel 配置 ``` --- ### 三、**关键配置文件实现 1. **Webpack 配置** (`webpack.config.js`) ```javascript const { VueLoaderPlugin } = require('vue-loader') const path = require('path') module.exports = { mode: 'development', entry: './src/main.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js' }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader' }, { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader' } }, { test: /\.css$/, use: ['vue-style-loader', 'css-loader'] } ] }, plugins: [ new VueLoaderPlugin() ], devServer: { static: { directory: path.join(__dirname, 'public') }, port: 8080, hot: true } } ``` 2. **Babel 配置** (`babel.config.json`) ```json { "presets": ["@babel/preset-env"] } ``` --- ### 四、**核心文件编写 1. **入口 HTML** (`public/index.html`) ```html <!DOCTYPE html> <html> <head> <title>Manual Vue Setup</title> </head> <body> <div id="app"></div> <script src="../dist/bundle.js"></script> </body> </html> ``` 2. **Vue 根组件** (`src/App.vue`) ```vue <template> <div> <h1>{{ message }}</h1> </div> </template> <script> export default { data() { return { message: '手动创建的 Vue 项目' } } } </script> ``` 3. **入口 JS** (`src/main.js`) ```javascript import { createApp } from 'vue' import App from './App.vue' createApp(App).mount('#app') ``` --- ### 五、**扩展功能配置(可选) 1. **添加 CSS 预处理器** ```bash npm install sass sass-loader --save-dev ``` ```javascript // 在 Webpack 配置中增加: { test: /\.scss$/, use: ['vue-style-loader', 'css-loader', 'sass-loader'] } ``` 2. **配置生产环境优化** ```javascript // webpack.prod.js const TerserPlugin = require('terser-webpack-plugin') module.exports = { mode: 'production', optimization: { minimize: true, minimizer: [new TerserPlugin()] } } ``` --- ### 六、**运行与构建命令 ```json // package.json "scripts": { "dev": "webpack serve --config webpack.config.js", "build": "webpack --config webpack.prod.js" } ``` --- ### 七、**手动配置 vs Vue CLI 对比 | 维度 | 手动配置 | Vue CLI | |--------------------|----------------------------|---------------------------| | 初始配置时间 | 30+ 分钟 | <1 分钟 | | 维护成本 | 高(需自行管理所有依赖) | 低(官方封装最佳实践) | | 灵活性 | 完全控制每个配置项 | 受限于预设配置 | | 更新升级 | 需手动处理版本兼容 | 官方统一维护升级 | | 适用场景 | 需要深度定制/学习原理 | 快速启动标准项目 | --- ### 进阶建议: 1. **使用 Vite 替代方案**(非 Webpack 体系) ```bash npm create vite@latest ``` 2. **逐步添加功能** - 按需安装 `vue-router`, `pinia` 等生态库 - 配置 `ESLint` + `Prettier` 代码规范 - 添加 `TypeScript` 支持 通过这种手动配置方式,您可以深度理解 Vue 项目的底层运行机制,但需注意后续依赖管理和版本升级的维护成本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值