通過對此question進行標記,您可以在node.js中的運行時需要一個基於字符串的路徑。使用Browserify/Babel/node.js您可以要求基於變量字符串的文件
奇怪的是,這似乎爲我的節點服務器端好工作,但似乎並沒有使用巴貝爾/ Browserify
對於這個特殊的錯誤工作客戶端,我基本上有很多我想要的模擬JSON數據到require
進行測試,當實際API被關閉時。
// slug comes into the function and could for example be 'movies'
let modulePath = '../mock/products/' + slug + '.js'
let data = require(modulePath)
這給了我下面的錯誤
Failed! Error: Cannot find module '../mock/products/movies.js'
如果我將其更改爲let modulePath = '../mock/products/movies.js'
這將是檢索數據沒有問題... ...和我提到,如果我運行這個服務器端它沒有問題,但是當我運行代碼客戶端時並不好。
我使用巴貝爾/ babelify到transpile的ES6代碼ES5
使用下面的命令來建立與browserify
browserify --debug -t [babelify] client.js > public/js/bundle.js
我開發devDependencies在我的package.json如下:
"devDependencies": {
"browserify": "^8.0.3",
"babel": "^4.0.1",
"babelify": "~6.1.2"
}
你能詳細說一下客戶端部分嗎?瀏覽器不實現CommonJS模塊系統。你在使用browserify嗎? –
只要使用browserify和babelify轉換就會更新 –