相同点:文件夹中的资源在html中使用都是可以的。
不同点:在js中使用assets下面的资源的话,路径要经过webpack中的file-loader编译,路径不能直接写。
static :
在项目打包过程中,使用命令npm run build时,该目录下的文件不会被wabpack处理的,它们会被直接复制到最终的打包目录下面(默认是dist/static ),使用时必须使用绝对路径来引用这些文件,这是在 config.js 文件中的 build.assetsPublicPath 和 build.assetsSubDirectory 设置来确定的。
注意:任何放在 static 中的文件需要以绝对路径的形式引用:/static/[filename]
assets:
在项目打包过程中,使用命令npm run build时,src目录下的assets 中的文件会经过 webpack 进行打包编译。
总结:
1、static中的文件,是不会经过编译的,打包后会生成dist文件夹,static中的文件是复制的static的文件。建议static目录中放一些外部的第三方的文件,自己的文件最好放在assets文件中。
2、若把图片放在assets和static中,html页面中都可以使用; 但是在动态绑定中,assets路径的图片会加载失败,因为webpack使用的是 commenJS
规范,必须使用require才可以。所以图片等信息最好放在static中。