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

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


我所做的更改是:

我将“ javascripts”下的“ main.js”复制为“ gauge-main.js”。

我在“样式表”下将“ small.css”,“ simple.css”,“ grayscale.css”,“ index.css”复制为“ gauge-small.css”,“ gauge-simple.css”,“ gauge-grayscale” .css”和“ gauge-index.css”。

我修改了'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”存在问题。错误显示为“未捕获的ReferenceError:未定义require”。这与浏览器中的JavaScript不支持require的事实有关。经过一些研究,我发现解决此问题的正确方法是使用名为“ browserify”的扩展。这里的问题是我认为'd3-gauge'插件的作者不打算以这种方式使用它(即带有'browserify')。当我从作者的网站“检查” page时,没有发现“ browserify”的痕迹。

有任何想法吗?

最佳答案

如果您查看package.json,则演示将由beefy运行。 Beefy设计用于与解析browserifyrequire一起使用。

关于javascript - 未捕获的ReferenceError:未定义require-Node.js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27604384/

10-10 00:46