首页 > node.js 路径问题

node.js 路径问题

项目结构

home
  ├app            //项目逻辑目录
    ├routes
    ├src
    └app.js
  ├public        //静态文件目录
  └node_modules

假如我需要定义模板静态文件的路径需要这样定义:

app.use(express.static(path.join(__dirname, '../public')));

怎么样才能使用绝对路径呢?用 __dirnameprocess.cwd() 这些变量方法都不能达到效果。
有什么方法可以获取到项目的根目录然后可以全局使用?


不起作用是指,静态目录不对?那换成:

//假设这段代码是写在home/app目录下
app.use(express.static(path.resolve(__dirname, '..', 'public')));

搞成全局实在没什么用,别闹了


__dirname 表示文件当前路径, ./在require中表示当前目录,process.cwd()表示命令行启动的路径。

你在express中的话,我建议是直接用:path.join(__dirname, '../public')


process.cwd()应该是获取当前工作目录,应该也是项目根目录啊...
global变量全局的,试试挂载到上面,如果express框架的话,有一个供ejs模板使用的'全局'变量
 _.extend(app.locals, {
  config: config,
  Loader: Loader,
  assets: assets
})
    
【热门文章】
【热门文章】