ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 资源目录上线设置 ## 1. 项目在服务器根目录 ,访问时:www.jqq.com/index * [ ] ### router.js,不设置base字段 ``` var router \= new Router({ mode: 'history', //可以去掉url中的#。但是打包后需要后台配置,否则会404 routes: routerMap }) ``` * [ ] ### config/index.js,设置dev-assetsPublicPath字段 ``` dev: { // Paths assetsSubDirectory: 'static', assetsPublicPath: '/jqq/', //为了线上配置的目录/jqq/,如果线上是根目录,则替换为 / proxyTable: { '/api': { target: 'https://xt.yuketang.cn', changeOrigin: true       } }, ``` ## 2. 项目不在服务器根目录,在jqq目录下。访问时:www.jqq.com/jqq/index * [ ] ### router.js,设置base字段 ``` var router \= new Router({ mode: 'history', //可以去掉url中的#。但是打包后需要后台配置,否则会404 base:'jqq', routes: routerMap }) ``` * [ ] ### config/index.js,设置dev-assetsPublicPath字段为/ ``` dev: { // Paths assetsSubDirectory: 'static', assetsPublicPath: '/', //为了线上配置的目录/jqq/,如果线上是根目录,则替换为 / proxyTable: { '/api': { target: 'https://xt.yuketang.cn', changeOrigin: true       } }, ``` ## 3. 资源根index同级。没有被文件夹包裹 ![](https://box.kancloud.cn/4584964a926c37a56a26273346687b90_238x298.png) * [ ] ### build/util.js 中修改publicPath,资源引用路径 ``` if (options.extract) { return ExtractTextPlugin.extract({ use: loaders,// css 引用图片打包问题 publicPath: '../', //注意: 此处根据路径, 更改.绝对路径时 => ../../../;相对路径,资源不在根目录时 => ../../;相对路径,资源在根目录时 => ../ fallback: 'vue-style-loader' }) } else { return \['vue-style-loader'\].concat(loaders) } ``` * [ ] ### config/index.js 修改build--assetsSubDirectory为空 ``` build: { // Template for index.html index: path.resolve(\_\_dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(\_\_dirname, '../dist'), assetsSubDirectory: '', //为了线上配置的目录,build时把资源文件放到static目录,上线时项目有前缀目录时,变成'' assetsPublicPath: './', ``` ## 4.资源被文件夹(static)包裹。 ![](https://box.kancloud.cn/180aa309508104946660bbac8d82b591_220x102.png) * [ ] ### build/util.js 中修改publicPath,资源引用路径 ``` if (options.extract) { return ExtractTextPlugin.extract({ use: loaders,// css 引用图片打包问题 publicPath: '../../', //注意: 此处根据路径, 更改.绝对路径时 => ../../../;相对路径,资源不在根目录时 => ../../;相对路径,资源在根目录时 => ../ fallback: 'vue-style-loader' }) } else { return \['vue-style-loader'\].concat(loaders) } ``` * [ ] ### config/index.js 修改build--assetsSubDirectory为文件夹名称(static) ``` build: { // Template for index.html index: path.resolve(\_\_dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(\_\_dirname, '../dist'), assetsSubDirectory: 'static', //为了线上配置的目录,build时把资源文件放到static目录,上线时项目有前缀目录时,变成'' assetsPublicPath: './', ```