我正在尝试从非常基本的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设计用于与解析browserify
的require
一起使用。
关于javascript - 未捕获的ReferenceError:未定义require-Node.js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27604384/