Skip to content

Commit 85a967b

Browse files
authored
Merge pull request #34 from mpvue/wz/fix-win-path-error
Wz/fix win path error
2 parents 86e1fb1 + c13e7f9 commit 85a967b

File tree

5 files changed

+15
-5
lines changed

5 files changed

+15
-5
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-2
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

@@ -31,6 +31,7 @@ function getCompNameAndSrc (context, file) {
3131
function getNameByFile (dir) {
3232
// const arr = dir.match(/[pages?/components?]\/(.*?)(\/)/)
3333
const arr = dir.match(/pages\/(.*?)\//)
34+
// 兼容 win 下的路径格式不统一的问题
3435
if (arr && arr[1]) {
3536
return arr[1]
3637
}
@@ -39,7 +40,7 @@ function getNameByFile (dir) {
3940

4041
function getKeyFromObjByVal (obj, val) {
4142
for (const i in obj) {
42-
if (obj[i] === val) {
43+
if (path.resolve(obj[i]) === path.resolve(val)) {
4344
return i
4445
}
4546
}

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)