静态站点配置看下图,index.html和静态文件夹开发的相对路径同编译后的相对路径开发配置//静态文件目录app.use('/static',express.static('./static'))output:{path:path.resolve(__dirname,'../dist'),publicPath:'/',//注意和生产配置文件名:'[name].js'},生产配置输出:{path:path.resolve(__dirname,'../dist'),publicPath:'./',filename:'[name].js'}、demo比如现在有这么一张图片static/demo.jpg,那我们应该怎么引入才能保证两种环境都能正确访问呢?试试1这个好像没问题,本地环境没问题,打包成功,但是你放dist后会发现图片看不到在服务器上。就是用webstorm打开的效果,可以看到图片和css加载的路径完全不一样。注意图片导入的路径中的/代表的是绝对路径,所以放在服务器上时,会变成直接加在域名后面的网络地址。但是一般一个域名上会有很多项目,这种方法肯定行不通试试2这样写的话,需要看一下你的webpack配置。比如我的vue2项目使用的vue是以单文件的形式编译的,所以这样写在本地或者在线编译的时候都会报错,因为.html文件中的html。一定是找不到模块/static/demp.jpg,所以编译不通过。但是,如果你把js、html、css分开写,用其他的loader来加载html,或许可以做到这一点。我之前的用法是多文件写,然后使用raw-loader加载html。他用这个loader加载后,就是一个字符串,所以不会报错importTplfrom'./template.html'exportdefault{template:Tpl,}试试3有没有更好的办法~终于找到了最优的写法,这样不管是vue单文件还是多文件,不管是开发环境还是编译后,都可以正确访问图片,但是前提是vue单文件需要添加url-loader。为什么会这样?自己理解吧~作业有多个静态目录怎么办?