小编Den*_*mon的帖子

Node.js - 外部JS和CSS文件(仅使用node.js不表达)

我试图学习node.js并且遇到了一些障碍.

我的问题是我似乎无法将外部css和js文件加载到html文件中.

GET http://localhost:8080/css/style.css 404 (Not Found) 
GET http://localhost:8080/js/script.css 404 (Not Found) 
Run Code Online (Sandbox Code Playgroud)

(这是所有文件都在应用程序的根目录中)

我被告知有点模仿以下应用程序结构,为公共目录添加一个路由,以允许Web服务器提供外部文件.

我的app结构是这样的

domain.com
  app/
    webserver.js

  public/
    chatclient.html

    js/
      script.js

    css/
      style.css
Run Code Online (Sandbox Code Playgroud)

所以我的webserver.js脚本位于app的根目录中,我想要访问的所有内容都是'public'.

我还看到了这个示例,它使用path.extname()来获取位于路径中的任何文件扩展名.(参见最后一个代码块).

所以我试图结合新的站点结构和这个path.extname()示例,让webserver允许访问我的公共目录中的任何文件,这样我就可以渲染html文件,它引用了外部的js和css文件.

我的webserver.js看起来像这样.

var http = require('http')
, url = require('url')
, fs = require('fs')
, path = require('path')
, server;

server = http.createServer(function(req,res){

  var myPath = url.parse(req.url).pathname;

    switch(myPath){

      case '/public':

        // get the extensions of the files inside this dir (.html, .js, .css)
        var extname = mypath.extname(path);

          switch (extname) {

            // get …
Run Code Online (Sandbox Code Playgroud)

node.js

19
推荐指数
2
解决办法
6万
查看次数

如何在Browserify中使用html模板

我试图想出一个简单的方法来在脚本中要求一个html模板,然后从CLI运行browserify.

说我想抓住一个模板并将其附加到身体上.

//index.js

var template = require('./template.html');
document.body.appendChild(template);
Run Code Online (Sandbox Code Playgroud)

<!-- template.html -->
<p>Woooo!</p>
Run Code Online (Sandbox Code Playgroud)

然后使用CLI将其全部包装在Browserify中.

browserify index.js > build.js

在引用的浏览器中加载index.html模板时,build.js我在控制台中收到此错误:

Uncaught SyntaxError: Unexpected token <
Run Code Online (Sandbox Code Playgroud)

这是参考

....

},{}],3:[function(require,module,exports){
<div class="slide">
    <h2 data-slide-title></h2>
    <div data-slide-copy></div>
</div>
},{}]},{},[1])
Run Code Online (Sandbox Code Playgroud)

javascript commonjs browserify

11
推荐指数
1
解决办法
6730
查看次数

Browserify:如何读取目录的内容

在我当前的 Browserify 项目中,我需要能够循环遍历特定目录的文件夹并从每个文件夹中获取一个 json 文件。所以我需要某种fs模块。

您是否可以推荐任何可以与 Browserify 配合使用的特定模块,并且让我可以使用readdirsync/readdir或其他方法来读取另一个目录的内容?

显然我无法使用普通的 nodejsfs模块,并且我查看了brfs但这只能让我访问readFile.

我想做这样的事情:

// app.js
getFiles = require('./getFiles.js')():
Run Code Online (Sandbox Code Playgroud)

// getFiles.js
module.exports = function(){
  var fs = require('some_module_system');

  var folders = fs.readdir('../path/to/dir', function(err, contents){
    console.log(contents);
  });
}
Run Code Online (Sandbox Code Playgroud)

并将其全部包裹起来

browserify app.js > build.js
Run Code Online (Sandbox Code Playgroud)

javascript commonjs browserify

5
推荐指数
1
解决办法
1327
查看次数

榆树:将列表拆分成多个列表

我希望能够将列表拆分为多个列表.我假设这需要存储在tuple- 虽然不完全确定.

说我有这8人组

users =
  ["Steve", "Sally", "Barry", "Emma", "John", "Gustav", "Ankaran", "Gilly"]
Run Code Online (Sandbox Code Playgroud)

我想将它们分成特定数量的组.例如,2人,3人或4人的团体.

-- desired result

( ["Steve", "Sally", "Barry"]
, ["Emma", "John", "Gustav"]
, ["Ankaran", "Gilly"]
)
Run Code Online (Sandbox Code Playgroud)

这个问题的第2部分是,你将如何迭代并呈现各种长度的元组的结果?

我正在玩这个例子,使用tuple-map, 但它似乎只期望一个具有2个值的元组.

import Html exposing (..)
import List

data = (
  ["Steve", "Sally", "Barry"]
  , ["Emma", "John", "Gustav"]
  , ["Ankaran", "Gilly"]
  )

renderLI value =
  li [] [ text value ]

renderUL list =
  ul [] (List.map renderLI list)

main =
    div [] (map renderUL data)

-- …
Run Code Online (Sandbox Code Playgroud)

elm

3
推荐指数
1
解决办法
1045
查看次数

榆树:解码Http.Error

我想知道如何解码榆树中的Http.Error并将其数据存储在我的模型中.

我知道错误响应将返回此结构.

{
  error: "Some error message",
  ok: false
}
Run Code Online (Sandbox Code Playgroud)

这是我的模型和我的Http请求

type alias Model =
  { url = String
  , result : String
  , errorMessage : String
  , error : Bool
  }

model : Model
model =
  { url = ""
  , result = ""
  , errorMessage = ""
  , error = False
  }

-- make the request

makeRequest : String -> Cmd Msg
makeRequest url =
  Task.perform FetchFail FetchSucceed (Http.get decodeTitle url)

-- decode the success response

decodeTitle : …
Run Code Online (Sandbox Code Playgroud)

elm

3
推荐指数
1
解决办法
1815
查看次数

在NodeJS TCP服务器中读取客户端数据输入

我试图创建一个NodeJS TCP服务器,它将读取客户端输入,然后相应地采取行动.

我想知道如何读取数据,因此我可以设置条件来执行过程.

var net = require('net');
var server = net.createServer(function (socket) {

socket.on('data', function(data) {
    buf = new Buffer(256);
    len = buf.write(data.toString());

    if (buf.toString('utf8', 0, len) === "test"){
        console.log("you typed test");
    }

    console.log(len + " bytes: " + buf.toString('utf8', 0, len));
});
socket.write("Connected to server.\r\n");
});
server.listen(8080, "127.0.0.1");
Run Code Online (Sandbox Code Playgroud)

我正在输出此处输入的值: console.log(len + " bytes: " + buf.toString('utf8', 0, len)); 但是当我在客户端终端窗口中实际键入'test'时,我在此日志上方的if语句与值'test'不匹配.

任何帮助表示赞赏

-克里斯

node.js

2
推荐指数
1
解决办法
4699
查看次数

标签 统计

browserify ×2

commonjs ×2

elm ×2

javascript ×2

node.js ×2