Dom*_*cus 6 javascript windows posix node.js
我在Windows上进行开发,但是需要知道如何将Windows路径(带有反斜杠\)转换为带有正斜杠(/)的POSIX路径吗?
我的目标是转换C:\repos\vue-t\tests\views\index\home.vue为C:/repos/vue-t/tests/views/index/home.vue
所以我可以在导入磁盘的文件中使用它
const appImport = `
import Vue from "vue"
import App from '${path}'
function createApp (data) {
const app = new Vue({
data,
render: h => h(App)
})
return app
}`
//this string is then written to the disk as a file
Run Code Online (Sandbox Code Playgroud)
我不想使用.replace(/\\/g, '/')字符串,而是希望使用一个require('path')函数。
Mik*_*ans 47
鉴于所有其他答案都依赖于安装(要么太大,要么太小)第三方模块:这也可以作为相对路径的单行来完成(你应该已经使用了 99.999% 的时间)使用 Node 的标准库路径模块,更具体地说,利用其专用的path.posix和path.win32命名空间属性/函数(在 Node v0.11 中引入):
const path = require("path");
// ...
const definitelyPosix = somePathString.split(path.sep).join(path.posix.sep);
Run Code Online (Sandbox Code Playgroud)
无论您已经在 POSIX 平台上还是在 win32 上,这都会将您的路径转换为 POSIX 格式,同时需要零依赖项。
斜杠将Windows反斜杠路径转换为Unix路径
用法:
const path = require('path');
const slash = require('slash');
const str = path.join('foo', 'bar');
slash(str);
// Unix => foo/bar
// Windows => foo/bar
Run Code Online (Sandbox Code Playgroud)
有一个名为upath 的节点包会将windows 路径转换为unix。
upath = require('upath');
Run Code Online (Sandbox Code Playgroud)
或者
import * as upath from 'upath';
upath.toUnix(destination_path)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2431 次 |
| 最近记录: |