Rumah >hujung hadapan web >tutorial js >vue-cli中自定义路径别名 assets和static文件夹的区别
写在前面:
这是一篇vue-cli的几个小知识点简单介绍,适用于刚接触vue-cli脚手架以及对此方面并不太了解的同学,大佬们绕道。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。
相信有很多人知道vue-cli有两个放置静态资源的地方,分别是src/assets
文件夹和static
文件夹,这两者的区别很多人可能不太清楚。
assets目录中的文件会被webpack处理解析为模块依赖,只支持相对路径形式。例如,在 e1632435c44469ea83dc3b8464445af9
和 background: url(./logo.png)
中,”./logo.png” 是相对的资源路径,将由Webpack解析为模块依赖。
static/ 目录下的文件并不会被Webpack处理:它们会直接被复制到最终的打包目录(默认是dist/static)下。必须使用绝对路径引用这些文件,这是通过在 config.js 文件中的 build.assetsPublicPath 和 build.assetsSubDirectory 连接来确定的。
任何放在 static/ 中文件需要以绝对路径的形式引用:/static/[filename]。
在我们实际的开发中,总的来说:static放不会变动的文件 assets放可能会变动的文件。
因为webpack会将图片当做模块来引用,所以在js中需要使用require将图片引用进来,不能直接以字符串的形式。
js部分: data () { return { imgUrl: '图片地址',//错误写法 imgUrl: require('图片地址')//正确的写法 } } template部分: img标签形式: <img :src="img" /> 或者p背景图形式: <p :style="{backgroundImage: 'url(' + img + ')'}"></p>
说了图片就正好再提一下vue-cli的一个图片有关的配置,下图这个配置的意思是:在10000b 的图片以下进行base64转换,所以如果项目中有些比较小的icon就不用再进行图片精灵的处理了
vue-cli 用的是webpack,也可以使用webpack自定义别名这个功能,自定义别名这个功能当你在多层文件夹嵌套的时候不必一层一层找路径,直接使用自定义别名就可以找到文件的位置。
**设置地址:**build文件夹下面的webpack.base.conf.js文件
具体设置:
resolve: { extensions: ['.js', '.vue', '.json'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src'), 'static':path.resolve(__dirname, '../static'),//增加这一行代码 } },
使用方式:
使用的时候要像下方截图的B处一样前面要加上一个’~’,这里的webstorm虽然提示报错,我们可以不用管,代码运行是正常的。
解读:
这里给’static’赋予了一个地址,那么在程序中引入路径的时候’~static’就直接可以代替路径’../static’,亲测,这里就算多层嵌套也可以成功找到路径。
很多人像我一样,刚开始的会安装很多插件,然后最后在项目中并没有用到。那之前安装的插件太多了,连自己都忘记了安装了哪些插件?
在上图所示位置,我们项目安装的所有的模块依赖都在这个pageage.json文件中,当我们需要整理一波自己的依赖的时候,可以在这个文件里面找有没有现在已经没用的依赖,可以使用命令行npm remove 模块名字
来删除没用的模块。
上面的这些依赖有些只在开发环境里面使用的模块,有的在项目上线之后还是要继续依赖的模块。他们之间的区别就在于我们平时安装模块依赖时的:--save-dev
和 --save
当你使用--save-dev
安装依赖的时候就会放在package.json的devDependencies对象下面,相反的,当你使用--save
安装依赖的时候就会出现在dependencies对象下面。
总结:* –save-dev 是你开发时候依赖的东西,–save 是你发布之后还依赖的东西。*
手摸手教你使用vue-cli脚手架
在 vue-cli 脚手架中引用 jQuery、bootstrap 以及使用 sass、less 编写 css
以上就是这篇文章的内容了,是自己一段时间实践项目的一些小积累,后续还有一些内容,因为项目比较紧,可能会晚点和大家见面。
Atas ialah kandungan terperinci vue-cli中自定义路径别名 assets和static文件夹的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!