NodeJs – 如何用import关键字避免相对path
根据几个github文档,我已经尝试了这一点,虽然它是真正的require关键字,因为第一个服务器文件的第一行激发[index.js]:
process.env.NODE_PATH = 'app'; require('module').Module._initPaths();
它没有工作。 然后,我在webpack中读取,但仍然不起作用:
resolve: { root: path.resolve(path.join(__dirname + '/app')), alias: { app: 'app', component: 'app/components', utility: 'app/utils' }, extensions: ['', '.js', '.jsx'] },
我如何避免无休止的'../../../../',因为我的项目越来越深,因为我不想继续这样做:
从'../../../../../Whatever'导入MyComponent?
谢谢
目前我使用的是相同的解决scheme,在这个列表中没有6。
process.env.NODE_PATH = __dirname; require('module').Module._initPaths();
这使我可以通过文件夹/文件名称调用我所有的js文件,无论我在我的代码库中,例如
require('services/userService');
这是一个相当丑陋的解决scheme,因为它依赖于一个私有的Node.js核心方法,这也是一个黑客,可能会停止对前一个或下一个版本的节点工作。
我也问了一些关于Quora的问题。