Node.js 无法在带有Jade模板的Express app中使用browserify中间件

Node.js 无法在带有Jade模板的Express app中使用browserify中间件,node.js,express,browserify,Node.js,Express,Browserify,我来自RequireJS世界,希望开始使用browserify。我正在用ExpressJS和Node构建我的应用程序。我现在需要从Jade模板视图文件中调用javascript。为了测试,我只想使用一个名为[loglevel]的简单日志模块,我可以从jade模板视图文件中调用它。我通过npm安装了loglevel,模块源现在位于我的应用程序的node\u modules文件夹中 app.js的内部,标准配置了一个新的Express应用程序(节略): 然后在我的翡翠模板中,我有以下内容(节略):

我来自RequireJS世界,希望开始使用browserify。我正在用ExpressJS和Node构建我的应用程序。我现在需要从Jade模板视图文件中调用javascript。为了测试,我只想使用一个名为
[loglevel]
的简单日志模块,我可以从jade模板视图文件中调用它。我通过npm安装了loglevel,模块源现在位于我的应用程序的
node\u modules
文件夹中

app.js的内部,标准配置了一个新的Express应用程序(节略):

然后在我的翡翠模板中,我有以下内容(节略):

doctype html
//如果IE 8
html.no js.lt-ie9(lang='en')
//[如果gt IE 8]
当我加载显示此Jade视图的路由时,我的控制台会声明:
log未定义
,即使
loglevel
模块应该定义它。当我检查控制台中的sources选项卡时,我确实看到浏览器确实加载了
loglevel
。由于脚本正在加载,我是否应该访问由
loglevel
模块定义的
log
对象?

从我在上所看到的,它要么导出到CommonJS,要么导出到AMD,要么导出到全局

因此,您应该首先
require()
ing它:

script.
  require("loglevel").info("just a test");
doctype html
//if IE 8
  html.no-js.lt-ie9(lang='en')  
// [if gt IE 8] <!
|  
html.no-js(lang='en')
  // <![endif]
  head
    meta(charset='utf-8')
    meta(name='viewport', content='width=device-width,initial-scale=1.0')
    title App Title
    link(rel='stylesheet', href='stylesheets/app.css')
    script(src="javascripts/bundle.js")
    script.
      log.info('just a test')
  body#landing
script.
  require("loglevel").info("just a test");