Closed crli closed 7 years ago
@crli
我想应该是文件夹的问题,如果你是通过命令:
$ git clone https://github.com/huangshuwei/webpackForSPA.git
是没问题的(刚试了下)。
但是如果直接通过下载的形式,文件夹是‘webpackForSPA-master’,这就导致找不到路径。 解决办法1:通过命令clone到本地 解决办法2:将文件夹的名称‘webpackForSPA-master’改为‘webpackForSPA’
若还有问题再留言
我就是直接clone的,不行的,出问题的地方是我上文说的地方,与文件夹没关系,是打包之后文件引入路径不对,我已经提交了修改,不知道您是否看到,修改之后就可以正常使用了
@crli 你的修改思路是对的,我决定合并你的提交。 但是有一点我需要修改下,是这里:
if (currentTarget == "build") { // online mode (线上模式)
debug = false, devServer = false, minimize = true;
} else if (currentTarget == "dev") { // dev mode (开发模式)
debug = true, devServer = false, minimize = false;
} else if (currentTarget == "dev-hrm") { // dev HRM mode (热更新模式)
debug = true, devServer = true, minimize = false;
}
如果是dev模式时,debug变量应该是为ture的,因为这里有一个细节:
...
new webpack.DefinePlugin({
/*
* dev flag
* (开发标识)
* */
__DEV__: debug,
})
...
所以发布的路径可以根据devserver去判断,发布路径的判断稍作修改:
/*
* publish path
* (发布目录)
* */
publicPath: devServer ? '/webpackForSPA/dist/' : './',
另外: 这个bug,如果我在webstorm这种编译器下我是重新不了的,但是当我发布到诸如iis的服务器时,的确会出现路径引用错误的问题,因为iis服务器默认会忽略第一个顶级路径名称‘webpackForSPA’。所以资源的引用应该按照你的思路改成相对路径的。
最后谢谢你的反馈
publicPath: debug ? '/webpackForSPA/dist/' : '/webpackForSPA/',
1,线上及开发模式
publicPath
都有问题,不能正常引入文件2,我试着这样设置
线上及开发模式时候
publicPath: './ ‘
这样打包正常但是图片路径不正确,打包之后的路径不能正确引入background: url(./img/banner-img-6489cfff.jpg) no-repeat top;
不是css中所引入的background: url(../img/banner-img.jpg) no-repeat center top;
关于图片路径问题,我实在想不出来怎么弄了,求解