【发布时间】:2015-08-28 07:47:33
【问题描述】:
我发现这篇关于创建全局包的文章:https://bretkikehara.wordpress.com/2013/05/02/nodejs-creating-your-first-global-module/
所以我在package.json 中声明了一个 bin 值,如下所示:
"bin": {
"my-server": "./bin/start-server.js"
}
在start-server.js 中,我引用了../server.js,这是我用来启动我的快速服务器的。在我的项目文件夹中执行npm install -g 并运行my-server 后它工作得很好,但是当我导航出项目文件夹并运行my-server 时,服务器似乎启动了,但我的样式表或客户端都没有javascript 包含正在显示。
在我的server.js 文件中,我这样定义这些路径:
app.set('views', path.join(__dirname, '/public'));
app.set('view engine', 'ejs');
app.use(express.static('public'));
我应该以不同的方式进行设置,以便无论有人从哪里调用my-server,它都有正确的样式表路径?
【问题讨论】:
-
您是否尝试过使用
__dirname + "/../server.js"?看来您的代码取决于 pwd 作为模块的目录。 -
你的意思是在
start-server.js里面吗?如果是这样,那是行不通的。 -
你试过 fs.readFile 了吗?