[F2016061801] NodeJS之旅-使用webpack构建项目时遇到__dirname路径不对
Posted 蔡学华的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[F2016061801] NodeJS之旅-使用webpack构建项目时遇到__dirname路径不对相关的知识,希望对你有一定的参考价值。
最近准备用koa搭建个人博客网站,但在开发前就遇到了很多头疼的问题,比如用koa-views渲染模板,代码和官网的例子一模一样,但就是渲染不出来,提示找不到模板路径,真是头疼,研究了一天也没解决。
现在解决了,索性把解决方法简单记录一下,当时网上搜索了很久也找不到原因,最后还是在webpack官网闲逛的时候发现了问题的根源,所以说平时多逛逛技术网站还是有帮助的。
用koa-views渲染模板时配置的第一个参数是模板文件夹根路径,koa-views仓库里提供的路径是:
views(__dirname + ‘/views‘, { map: { html: ‘swig‘ } }
koa官方给出的示例代码,肯定是对的。但是就是这短短几行代码,到了我手上,偏偏看不到效果。根据调试的结果,才发现路径根本不对,views的第一个参数要求本地路径,而我的代码输出的是/views。问题出在了__dirname上!
点开编译后的代码查看__dirname到底被编译成了什么,一看吓一跳,不是文件夹的路径,而是/。肯定又是webpack的问题!立即跑去webpack官网溜达一圈,发现了一个配置选项:node。原来__dirname的默认值是"mock",即/。要使用普通Node的__dirname,需要设置:
node: { __dirname: false }
这样的话生成的路径就是本地路径了。
以上是关于[F2016061801] NodeJS之旅-使用webpack构建项目时遇到__dirname路径不对的主要内容,如果未能解决你的问题,请参考以下文章
我的全栈工程师之旅---------nodejs的模块原理和npm