Javascript 使用纯npm构建在NW.js(node webkit)应用程序中加载引导

Javascript 使用纯npm构建在NW.js(node webkit)应用程序中加载引导,javascript,node.js,twitter-bootstrap,node-webkit,Javascript,Node.js,Twitter Bootstrap,Node Webkit,我正在尝试用它构建一个简单的桌面应用程序。受到一些帖子的启发,包括,我想尝试一种纯粹的npm方法,而不使用任何bower、grunt、或gulp 所以我继续使用jquery和bootstrap库作为npm模块安装。当我在我的应用程序的javascript中注入模块时,如下所示: global.jQuery = $ = require("jquery"); var bootstrap = require("bootstrap"); 我收到一个引用错误:文档未从引导中定义。我可以用老式的方式通过h

我正在尝试用它构建一个简单的桌面应用程序。受到一些帖子的启发,包括,我想尝试一种纯粹的
npm
方法,而不使用任何
bower
grunt
、或
gulp

所以我继续使用
jquery
bootstrap
库作为
npm
模块安装。当我在我的应用程序的javascript中注入模块时,如下所示:

global.jQuery = $ = require("jquery");
var bootstrap = require("bootstrap");
我收到一个
引用错误:文档未从
引导中定义。我可以用老式的方式通过html文档加载
引导程序

<script type="text/javascript" src="node_modules/bootstrap/dist/js/bootstrap.js"></script>
预启动
挂钩触发:

"scripts": {
  "build": "node build.js",
  "prestart": "npm run build"
}
这使我能够通过方便的路径访问
引导
资源:

<link href="vendor/css/bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="vendor/js/bootstrap.js"></script>

我认为发生错误是因为您在运行require时没有窗口上下文。您从哪里运行include?请注意,对于从节点main运行的代码:

窗口:。。。在加载脚本时不可用,因为 该脚本在加载DOM窗口之前执行。()

即使在使用require导入JS时,您仍然需要包含css文件。我认为还没有“干净”或现成的解决方案。虽然您所做的肯定会起作用,但它会生成奇怪而不自然的脚本路径

我将添加一个构建:

在package.json中,将引导从节点_模块复制到“/dist/”中,以使路径更干净

<link href="vendor/css/bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="vendor/js/bootstrap.js"></script>
"scripts": {
    "build": "node build.js"
  }