weixin_39759060
2021-01-12 16:19 阅读 39

部署到腾讯云服务器创建目录和文件时,不在www目录下,而是创建到了项目的根目录下。

部署到腾讯云服务器创建目录和文件时,不在www目录下,而是创建到了项目的根目录下。

服务器环境: 发行版本: CentOS 6.5 Final 内核版本: Linux 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013

该提问来源于开源项目:thinkjs/thinkjs

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • weixin_39531688 weixin_39531688 2021-01-12 16:19

    你是怎么创建目录和文件的呢?

    点赞 评论 复制链接分享
  • weixin_39759060 weixin_39759060 2021-01-12 16:19

    部署到腾讯云服务器创建目录和文件时,不在www目录下,而是创建到了项目的根目录下。

     javascript
       if (!isDir("eee")) {
       fs.mkdirSync("eee");
    }
       fs.writeFile("aa.txt", "dfdfs")
    

    eee文件夹不会创建到www文件夹里 而是创建在www同级目录下,aa.txt也是 - App - eee - node_modules - www - aa.txt

    windows下是没问题的

    点赞 评论 复制链接分享
  • weixin_40003233 weixin_40003233 2021-01-12 16:19

    这个是 node.js 本身的问题,fs.mkdir在各个平台下执行是有差异的。

    抹平差异的方式就是你准备一个 绝对路径 给 fs.mkdir 创建。

    点赞 评论 复制链接分享
  • weixin_39531688 weixin_39531688 2021-01-12 16:19

    这是环境变量根目录的问题

    创建目录最好使用绝对路径

    
    fs.writeFile('/path/to/eee');
    

    thinkjs里有一些全局变量的路径,具体见: http://thinkjs.org/doc/appendix.html#系统常量

    点赞 评论 复制链接分享
  • weixin_39759060 weixin_39759060 2021-01-12 16:19

    十分感谢,已经解决 解决方案 : 创建时使用绝对路径。

    点赞 评论 复制链接分享

相关推荐