Node.js 无法在带有Jade模板的Express app中使用browserify中间件
我来自RequireJS世界,希望开始使用browserify。我正在用ExpressJS和Node构建我的应用程序。我现在需要从Jade模板视图文件中调用javascript。为了测试,我只想使用一个名为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应用程序(节略): 然后在我的翡翠模板中,我有以下内容(节略):
[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");