1. vue中img的src绑定
在平常的处理中,img的src通常采用相对路径的方式来指定,然而在Vue中通过‘:src’动态绑定时不能如此,图片会加载失败。
也就是说,静态结构时,图片地址这样设置就可以正常显示:
而动态结构时,这样就不行
注意如果写成了
那就更加的错误了
这是因为网页会把根域作为相对路径的根目录,然而我们文件的路径是相对于项目文件的根目录的,当然就找不到了。而通过vue-cli建的文件结构中,有一个叫做static的文件夹,是存放静态文件的,这个文件夹下的文件会按照原本的结构放在网站根目录下。这时再使用‘/static.......’这样的路径就可以访问这些静态文件了。
第二种办法是使用require()包裹相对路径
html部分:
js部分:
2. 怎样配置才能让vuecli build后的静态文件放到子目录也能访问
项目config文件夹里index.js中的assetsPublicPath,默认是/,改成你想设置的子目录名称,比如: /weixin/。
然后还要内配置页面内的容路由路径就可以了。
3. Vue项目打包发布至npm
新建一个项目,在根目录创建两个文件夹 packages 和 examples
将原项目中 components 下所有组件复制到新项目的 packages 目录下,如果有字体图标,将字体图标也一并放到 packages 目录下
packages/index.js
main.js
必须在 new Vue() 方法前调用 use 方法注册插件
Vue CLI提供了将Vue项目打包成库的命令,官方文档地址 https://cli.vuejs.org/zh/guide/build-targets.html#%E5%BA%94%E7%94%A8
package.json
在 package.json 中新增一条打包命令,其中 packages/index.js 指定打包入口文件
默认情况下该命令不会将 Vue 打包进去,因为任何引用我们库的Vue项目都默认包含 Vue ,如果使用文件或者CDN方式引入我们的库,则需要使用者手动引入 Vue 。可以通过添加 --inline-vue 参数来内置 Vue 。 --name 来指定打包后的名字。
运行打包命令
package.json
其中 name 不能在 npm 上已经存在, private 必须设置为 false ,否则发布会失败, main 指定的是 import 我们的库时默认导入的文件
如果包的名字已经被其他人使用了,可以声明所有者信息来避免重名冲突。有两种方式来实现,第一种,手动修改 package.json ,将 name 修改为 @username/package-name 。第二种,推荐在新项目中使用, npm init --scope==username 。这个时候,发布包的命令也要进行修改
.npmignore
定义哪些文件在上传到npm时会被忽略。一般而言, examples 是包含测试的文件, packages 是源码, public 是一些静态文件,这些对库的使用者来说意义不大,可以不上传到npm
如果使用了第三方npm源,必须改回npm官方源
切换回官方源命令为 nrm use npm
登录
发布
取消发布
发布时遇到错误时可能是以下原因导致的:
安装
全局导入
使用组件