path.resolve()
方法會將路徑或路徑片段的序列解析爲絕對路徑。
var path = require("path") //引入node的path模塊
path.resolve('/foo/bar', './baz') // returns '/foo/bar/baz'
path.resolve('/foo/bar', 'baz') // returns '/foo/bar/baz'
path.resolve('/foo/bar', '/baz') // returns '/baz'
path.resolve('/foo/bar', '../baz') // returns '/foo/baz'
path.resolve('home','/foo/bar', '../baz') // returns '/foo/baz'
path.resolve('home','./foo/bar', '../baz') // returns '/home/foo/baz'
path.resolve('home','foo/bar', '../baz') // returns '/home/foo/baz'
從後向前,若字符以 / 開頭,不會拼接到前面的路徑(因爲拼接到此已經是一個絕對路徑
);
若以 ../ 開頭,拼接前面的路徑,且不含最後一節路徑;
若以 ./ 開頭 或者沒有符號 則拼接前面路徑;
webpack中resolve用法
舉例:引入vue.esm.js
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: { //alias配置項通過別名來把原導入路徑映射成一個新的導入路徑。 這樣做可能會命中太多的導入語句,alias 還支持 $ 符號來縮小範圍到只命中以關鍵字結尾的導入語句:
'vue$': 'vue/dist/vue.esm.js', // 把導入語句裏的 vue$ 關鍵字替換成 vue/dist/vue.esm.js 。 vue$ 只會命中以 vue 結尾的導入語句,即只會把 import 'vue' 關鍵字替換成 import 'vue/dist/vue.esm.js' 。
'@': resolve('src'),
}
},
Path.join([path1],[path2]) 連接路徑