未捕获的ReferenceError:未定义require - Node.js

时间:2014-12-22 14:13:10

标签: javascript node.js express

我正在尝试使用来自非常基本的node.js / express服务器的d3-gauge插件。我已经使用express生成了默认目录和文件树,并复制了'示例中的文件。目录应该是:

.
├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

我所做的改变是:

我复制了#main; js'在' javascripts' as' gauge-main.js'。

我复制了' small.css',' simple.css',' grayscale.css',' index.css'在'样式表' as' gauge-small.css',' gauge-simple.css',' gauge-grayscale.css',' gauge-index.css&# 39;分别

我修改了' index.jade':

extends layout

block head
        meta(charset='utf-8')
        title Index
        link(rel='stylesheet', href='/stylesheets/style.css', type='text/css', media='screen', charset='utf-8')
        link(rel='stylesheet', href='/stylesheets/gauge-index.css', type='text/css', media='screen', charset='utf-8')
block body
        script(src='/javascripts/gauge-main.js', type='text/javascript', charset='utf-8')

和' layout.jade':

doctype html
html
  head
    block head
  body
    block body

与示例对应。

当应用程序运行时(' npm start')它可以正常运行,当我访问该页面时,不会生成404。所有' *。css'文件和' gauge-main.js'正确链接。

问题是浏览器中没有显示任何内容。当我检查'我可以看到的页面是' gauge-main.js'该错误表示' Uncaught ReferenceError:require未定义'。这与浏览器中的JavaScript不支持require的事实有关。经过一些研究后,我发现解决这个问题的正确方法是使用名为“浏览器化”的扩展程序。这里的问题是我认为' d3-gauge'插件不打算以这种方式使用(使用' browserify'即)。当我检查'来自作者网站的page,我发现没有“浏览器化”的痕迹。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果查看package.json,则演示由beefy运行。 Beefy旨在与browserify合作解决require