使用Browserify / Babel / node.js你可以要求一个基于variablesstring的文件
针对这个问题,您可以在node.js中在运行时需要一个基于string的path。
奇怪的是,这似乎为我工作在节点服务器端没关系,但似乎不工作客户端使用巴别/ Browserify
对于这个特定的错误,我基本上有很多模拟JSON数据,我想要testing时,实际的API是closures的。
// 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一起构build
browserify --debug -t [babelify] client.js > public/js/bundle.js
我的package.json中的开发devDependencies如下所示:
"devDependencies": { "browserify": "^8.0.3", "babel": "^4.0.1", "babelify": "~6.1.2" }
Browserify只能计算依赖关系,如果它们是静态可分析的。 如果要dynamic生成导入,它无法知道要捆绑哪些模块。