[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

我的全栈工程师之旅---------nodejs的模块原理和npm

Nodejs之旅開始

开始react-native的学习之旅(IOS)

Deepin安装NodeJS和NPM

我的linux(centOS)建站之旅------node环境搭建