宝塔部署vue项目简易教程
Vue.js是一个用于构建用户界面的渐进式JavaScript框架,它的核心库只关注视图层,易于上手,同时便于与第三方库或既有项目整合,在本教程中,我们将介绍如何在宝塔面板上部署一个简单的Vue项目。
1、安装Node.js
我们需要在服务器上安装Node.js,宝塔面板提供了一键安装的功能,只需在面板中选择“软件商店”,然后搜索“Node.js”并安装即可。
2、安装npm
Node.js自带了npm(Node Package Manager)包管理器,无需额外安装,如果需要更新npm版本,可以在命令行中输入以下命令:
npm install -g npm@latest
3、创建Vue项目
在服务器上创建一个新的文件夹,用于存放Vue项目,然后在命令行中进入该文件夹,执行以下命令创建Vue项目:
vue create my-project
这里的my-project
是你的项目名称,可以根据需要自行修改,接下来,按照提示选择项目配置,等待项目创建完成后,进入项目目录:
cd my-project
4、安装宝塔插件
为了方便在宝塔面板上管理Vue项目,我们需要安装宝塔插件,在命令行中输入以下命令:
npm install -g @vue/cli-plugin-babel@next @vue/cli-plugin-eslint@next @vue/cli-plugin-unit-jest@next @vue/cli-plugin-typescript@next @vue/cli-service@next @vue/cli-plugin-webpack@next @vue/cli-plugin-vite@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@next @vue/cli-service@outdated --save --loglevel=warn
这一步会安装宝塔提供的一系列插件,包括Babel、ESLint、Jest、TypeScript等,根据提示完成安装过程。
5、配置宝塔插件
在宝塔面板中,找到“软件商店”,点击“添加插件”,然后搜索并安装刚刚安装的宝塔插件,安装完成后,重启服务器使插件生效。
6、安装依赖
在项目根目录下执行以下命令安装依赖:
npm install --save babel-loader eslint eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-promise eslint-plugin-standard htmlhint husky jsonlint lintpack minimist nodemon prettier webpack --save-dev
7、配置Webpack
在项目根目录下创建一个名为.env.production
的文件,添加以下内容:
VUE_APP_PUBLIC_PATH=http://localhost:8080
然后在package.json
文件中的scripts
部分添加以下内容:
"scripts": { "serve": "cross-env NODE_ENV=development webpack serve --config config.js", "build": "cross-env NODE_ENV=production webpack --config config.js" }
接下来,安装Webpack相关的依赖:
npm install --save crossenv webpack webpack-dev-server html-webpack-plugin cssnano stylelint stylelint-order csso postcss autoprefixer cleancss --save-dev
在项目根目录下创建一个名为webpack.config.js
的文件,添加以下内容:
const path = require('path'); const VueLoaderPlugin = require('vue-loader/lib/plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const StyleLintPlugin = require('stylelint').CLIEngine; // 需要先安装stylelint(npm i stylelint --save)并配置好规则文件(如:.stylelintrc)才能使用这个模块!否则会报错!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1111111111111111111111111111111111111") // 注意:这个模块是基于ES6语法编写的,所以请确保你的环境支持ES6或者升级你的环境到ES6+版本(推荐)~^6 || ~^7 || ~^8 || ~^9 || ~^10 || ~^11 || ~^12 || ~^13 || ~^14 || ~^15 || ~^16 || ~^17 || ~^18 || ~^19 || ~^20 && node >= 8.0.0 && process >= 'process' && module >= 'module' && require('fs').existsSync(path.join(__dirname, 'node_modules')) && require('fs').existsSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'node_modules')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path.join(__dirname, 'package.json')) && require('fs').statSync(path
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/317881.html