javascript - nodejs的两点疑问
天蓬老师
天蓬老师 2017-04-11 11:43:09
0
5
353

1,我直接将html文档返回到浏览器,但是html里面引用了一些本地文档,如外部style,外部js,图片之类的,这些全都访问不到,是否要针对这些单独写路由。

2,如何做到像模板引擎一样,往html文档里面填值。

以上两种都是在不用框架的情况下。
先谢过各位了。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信 (5)
Ty80

不用框架的话,需要自己指定一个目录作为静态资源文件夹(根据访问地址到该目录找文件来响应),或者单独起一个站点作为静态资源站,但原理一样的,参考下:http://famanoder.com/bokes/58...

いいねを押す+0
    小葫芦

    谢邀,

    1. 同意楼上的回答,不用框架你要自己写个静态资源的服务器了。

    2. 自己实现一个简易模版引擎,支持include的功能即可,也就是你nodejs生成html的时候解析你设计的html模版,然后替换占位符,替换完了,生成完整的html了,再发给浏览器

    いいねを押す+0
      迷茫

      将html文档返回到浏览器,这一行为到底是怎样的?
      你是指前端向服务器发出请求,然后由你这个基于nodejs的服务器向前端返回了一个html文档?
      如果是这种情况的话,你只需要设置好返回的Header就行了,浏览器会自动解析这些资源。

      如何做到像模板引擎一样,往html文档里面填值
      你弄一个模版引擎不就结了…………不想用现成的,反正不就是字符串拼接嘛……还能怎么搞……

      いいねを押す+0
        PHPzhong

        我猜,应该是没有设置静态文件目录吧。举个栗子:

        目录结构:

        |-- public //静态文件目录,存放js,css文件 |-- app.js //nodejs服务器启动文件

        app.js代码(以express为例)

        //第一行是创建一个服务器,第二行是指定该服务器的静态文件目录 const app = express(); app.use(express.static(path.join(__dirname, 'public')));
        いいねを押す+0
          左手右手慢动作
          1. 需要一个路由

          2. 用 es6 的 string template.

          example:

          const render = (context, ...others) => { return `   

          {context.title}

          { ` { if (context.condition) { ${context.something} } else { ${context.somethingElse} } } ` }

          ` } res.send(render({title: 1, something: 1, ...rest}))
          いいねを押す+0
            最新のダウンロード
            詳細>
            ウェブエフェクト
            公式サイト
            サイト素材
            フロントエンドテンプレート
            私たちについて 免責事項 Sitemap
            PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!