Vue CLI创建vue项目,安装插件

Vue CLI创建vue项目,安装插件


一、创建项目

1. 安装Vue CLI

javascript 复制代码
npm install -g @vue/cli

2. 创建项目

javascript 复制代码
vue create project
cd project

二、安装插件

router

javascript 复制代码
npm install vue-router
# 对于 Vue 2
npm install vue-router@3
# 或者对于 Vue 3
npm install vue-router@4

less

javascript 复制代码
npm install less less-loader --save-dev
// vue.config.js
module.exports = {
  css: {
    loaderOptions: {
      less: {
        // 这里可以添加一些全局的 less 变量等配置
        // modifyVars: { /* 这里可以覆盖 less 变量 */ 'primary-color': '#1DA1F2', },
        javascriptEnabled: true, // 开启 JS 支持,例如使用 mixins 等功能
      },
    },
  },
};

全局使用less变量

javascript 复制代码
# 新建公共less变量文件,在其中定义所需要的全局变量,用@定义。
# 安装插件 style-resources-loader、vue-cli-plugin-style-resources-loader:
npm install style-resources-loader vue-cli-plugin-style-resources-loader --save-dev
# package.json
    "less": "^4.3.0",
    "less-loader": "^5.0.0",
    "style-resources-loader": "^1.5.0",
    "vue-cli-plugin-style-resources-loader": "^0.1.5",

# 配置vue.config.js文件:
module.exports = defineConfig({
  // 全局配置使用less变量
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'less',
      patterns: [
          // 这个是加上自己的路径,注意此处不能使用别名路径
          path.resolve(__dirname, "./src/assets/styles/variables.less"), // 具体的文件路径
          // path.resolve(__dirname, "./src/assets/styles/*.less"), // 文件夹中的全部less文件
      ]
    }
  }
})

sass

javascript 复制代码
npm install sass sass-loader --save-dev
// vue.config.js
module.exports = {
  css: {
    loaderOptions: {
      sass: {
        // 配置选项,例如使用Dart Sass编译
        implementation: require('sass'),
      }
    }
  }
}

全局使用sass变量

javascript 复制代码
# 新建公共scss变量文件,在其中定义所需要的全局变量,用$定义。
# additionalData 是一个特定于预处理器的配置选项,用于向预处理器传递额外的数据。
# 数据值这里使用sass的 @import 指令来引入全局变量文件。
# 配置vue.config.js文件:
module.exports = {
  css: {
    loaderOptions: {
      // 单独配置scss或sass,配置scss语句结尾必须要有分号,配置sass语句结尾必须没有分号
      scss: {
        additionalData: `@import "@/assets/css/sassGlobalVars.scss";`
      },
      // sass: {
      //   // 配置选项,例如使用Dart Sass编译
      //   additionalData: `@import "@/assets/css/sassGlobalVars.sass"`
      // }
    }
  }
}

jquery

javascript 复制代码
npm install jquery --save-dev

局部引入

javascript 复制代码
<div>
	<button @click="Click">点我</button>
	<p id="c1">是我</p>
</div>
import $ from 'jquery'
Click(){
	// 直接在需要的地方直接使用即可
	$("#c1").toggle()
}

全局引入

javascript 复制代码
# 第一种 main.js(this.$)
import $ from 'jquery';
Vue.prototype.$ = $ // 绑定到vue对象上
Click(){
	// 在需要的地方使用this.$即可
	this.$("#c1").toggle()
}

# 第二种(推荐) main.js($)
import $ from 'jquery';
window.$ = $; // 将jQuery挂载到window对象上,以便在模板中使用$
Click(){
	$("#c1").toggle()
}

# 第三种(推荐) vue.config.js
// 定义webpack变量
const webpack = require("webpack")
module.exports = defineConfig({
  transpileDependencies: true,
  // 配置jquery
  configureWebpack: {
    plugins: [
      new webpack.ProvidePlugin({
        $: "jquery",
        jQuery: "jquery",
        "windows.jQuery": "jquery",
        "windows.$": "jquery",
        Popper: ["popper.js", "default"]
      })
    ]
  }
})
Click(){
	$("#c1").toggle()
}

全局引入(第二种/第三种)报错error '$' is not defined no-undef,在项目根目录下新建一个.eslintignore文件,文件内容就写个 * 就行

javascript 复制代码
*
相关推荐
想吃火锅10054 小时前
【leetcode】405.数字转换为十六进制数js
开发语言·javascript·ecmascript
原则猫6 小时前
HOOKS 背后机制
前端
码语智行6 小时前
首页导航跳转功能深度解析-系统内和系统外
前端
阿猫的故乡6 小时前
Vue过渡动画从入门到装X:淡入淡出、滑动、列表动画、第三方库全搞定
前端·javascript·vue.js
裕波7 小时前
Vue&ViteConf 2026 将于 7 月 18 日在上海举办,尤雨溪将现场发表主题演讲
vue.js·vite
IManiy7 小时前
总结之Vibe Coding前端骨架
前端
小和尚敲木头7 小时前
vue3 vite动态拼接图片路径
javascript
JS菌7 小时前
AI Agent 沙箱双层防护体系:从权限过滤到内核隔离的完整实现
前端·人工智能·后端
Aphasia3117 小时前
从输入URL到页面展示全流程
前端·面试
我叫黑大帅7 小时前
前端如何竖屏固定视口背景
前端·javascript·面试