Skip to content

Commit c13e7f9

Browse files
committed
fix: win 下路径兼容问题
1 parent 899097d commit c13e7f9

File tree

5 files changed

+15
-6
lines changed

5 files changed

+15
-6
lines changed

lib/mp-compiler/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const babel = require('babel-core')
55
const path = require('path')
66
const fs = require('fs')
77
const deepEqual = require('deep-equal')
8-
const relative = require('relative')
8+
const relative = require('../utils/relative')
99

1010
const { parseConfig, parseComponentsDeps, parseGlobalComponents, clearGlobalComponents } = require('./parse')
1111
const { parseComponentsDeps: parseComponentsDepsTs } = require('./parse-ts')

lib/mp-compiler/util.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const path = require('path')
22
const fs = require('fs')
3-
const relative = require('relative')
3+
const relative = require('../utils/relative')
44

55
const pagesNameMap = Object.create(null)
66

@@ -32,15 +32,15 @@ function getNameByFile (dir) {
3232
// const arr = dir.match(/[pages?/components?]\/(.*?)(\/)/)
3333
const arr = dir.match(/pages\/(.*?)\//)
3434
// 兼容 win 下的路径格式不统一的问题
35-
if (path.resolve(arr) && path.resolve(arr[1])) {
35+
if (arr && arr[1]) {
3636
return arr[1]
3737
}
3838
return path.parse(dir).name
3939
}
4040

4141
function getKeyFromObjByVal (obj, val) {
4242
for (const i in obj) {
43-
if (obj[i] === val) {
43+
if (path.resolve(obj[i]) === path.resolve(val)) {
4444
return i
4545
}
4646
}

lib/template-compiler/modules/transform-require.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
var fs = require('fs')
44
var path = require('path')
55
var mkdirp = require('mkdirp')
6+
var relative = require('../../utils/relative')
67

78
var defaultOptions = {
89
img: 'src',
@@ -42,7 +43,7 @@ function rewrite (attrsMap, name, fileOptions) {
4243
var { resourcePath, outputPath, context } = fileOptions
4344
var assetPath = path.resolve(resourcePath, '..', value)
4445
// 资源路径, 为了分包,去掉了 src 目录
45-
var toPath = assetPath.replace(context, '').replace(/^\/src\//, '')
46+
var toPath = relative(context, assetPath).replace(/^\/src\//, '')
4647
attrsMap[name] = path.join(outputPath, toPath)
4748
copyAsset(assetPath, attrsMap[name])
4849
}

lib/utils/relative.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
const relative = require('relative')
2+
const upath = require('upath')
3+
4+
module.exports = function (...arv) {
5+
console.log(upath.normalize(relative(...arv)))
6+
return upath.normalize(relative(...arv))
7+
}

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mpvue-loader",
3-
"version": "1.0.15",
3+
"version": "1.1.0",
44
"description": "mpvue single-file component loader for Webpack",
55
"main": "index.js",
66
"repository": {
@@ -63,6 +63,7 @@
6363
"relative": "^3.0.2",
6464
"resolve": "^1.3.3",
6565
"source-map": "^0.5.6",
66+
"upath": "^1.1.0",
6667
"vue-hot-reload-api": "^2.1.0",
6768
"vue-loader": "^13.0.4",
6869
"vue-style-loader": "^3.0.0",

0 commit comments

Comments
 (0)