使用 Browserify/Babel/node.js 你可以要求一个基于可变字符串的文件吗
Using Browserify/Babel/node.js can you require a file based on a variable string
根据此 question,您可以在 node.js 的 运行 时间要求基于字符串的路径。
奇怪的是,这似乎在节点服务器端对我有用,但在客户端使用 Babel/Browserify
似乎不起作用
对于这个特定的错误,当实际 API 出现故障时,我基本上有很多模拟 json 数据想要 require
进行测试。
// 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'
,检索数据将没有问题...正如我提到的,如果我 运行 此服务器端没有问题,但当我运行代码客户端。
我正在使用 babel/babelify 将 ES6 代码转换为 ES5
使用以下命令通过 browserify 构建
browserify --debug -t [babelify] client.js > public/js/bundle.js
我的package.json中的Dev devDependencies如下:
"devDependencies": {
"browserify": "^8.0.3",
"babel": "^4.0.1",
"babelify": "~6.1.2"
}
Browserify 只能计算可静态分析的依赖关系。如果您动态生成导入,它无法知道要捆绑哪些模块。
根据此 question,您可以在 node.js 的 运行 时间要求基于字符串的路径。
奇怪的是,这似乎在节点服务器端对我有用,但在客户端使用 Babel/Browserify
似乎不起作用对于这个特定的错误,当实际 API 出现故障时,我基本上有很多模拟 json 数据想要 require
进行测试。
// 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'
,检索数据将没有问题...正如我提到的,如果我 运行 此服务器端没有问题,但当我运行代码客户端。
我正在使用 babel/babelify 将 ES6 代码转换为 ES5
使用以下命令通过 browserify 构建
browserify --debug -t [babelify] client.js > public/js/bundle.js
我的package.json中的Dev devDependencies如下:
"devDependencies": {
"browserify": "^8.0.3",
"babel": "^4.0.1",
"babelify": "~6.1.2"
}
Browserify 只能计算可静态分析的依赖关系。如果您动态生成导入,它无法知道要捆绑哪些模块。