Sho*_*v3_ 6 javascript node.js express webpack
我目前的目录是
D:\bkp\Programming\TestWorks\nodejs\testApp
Run Code Online (Sandbox Code Playgroud)
但是当我使用__dirname并尝试使用快速服务器显示文件时,它会给我这个错误
Error: ENOENT: no such file or directory, stat 'D:\views\index.html'
Run Code Online (Sandbox Code Playgroud)
我的代码是
res.sendFile(__dirname + 'views/index.html');
Run Code Online (Sandbox Code Playgroud)
当我将它与webpack捆绑在一起并运行捆绑文件时,就会发生这种情况.否则,如果我只是运行正常的app.js文件,它工作正常.帮助将不胜感激.
这是因为webpack可以以不同的方式处理__dirname(以及其他节点特定的事物).如果您希望它像平常一样,请在您的webpack配置中使用它:
{
node: {
__dirname: false
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅:https://webpack.js.org/configuration/node/
这__dirname是/由webpack 设置的,这就是为什么你最终/views/index.html会遇到文件系统的根源,恰好D:\在你的情况下.您可以设置node.dirname到false你的WebPack配置不注射,并推迟其运行时.请记住,这__dirname将指向您正在执行的脚本的位置,这意味着捆绑包的位置,而不是原始来源.
node: {
__dirname: false
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2603 次 |
| 最近记录: |