Node.js-我应该使用history.js的npm安装还是这个包中的单个文件?

Node.js-我应该使用history.js的npm安装还是这个包中的单个文件?,node.js,npm,history.js,sails.js,Node.js,Npm,History.js,Sails.js,我正在使用Sails.js启动一个Node.js项目,我想知道是应该npm安装history.js,还是应该下载js文件并将其放置在我的资产链接器中 在npm安装中,我看到: /豆子 /多姆雷迪 history.adapter.ender.js history.js package.json 在这里的下载中,我看到了(对于jquery): history.adapter.jquery.js history.html4.js history.js json2.js 另外,我在另一页看到:

我正在使用Sails.js启动一个Node.js项目,我想知道是应该npm安装history.js,还是应该下载js文件并将其放置在我的资产链接器中

在npm安装中,我看到:

  • /豆子
  • /多姆雷迪
  • history.adapter.ender.js
  • history.js
  • package.json
在这里的下载中,我看到了(对于jquery):

  • history.adapter.jquery.js
  • history.html4.js
  • history.js
  • json2.js
另外,我在另一页看到:

  • ajaxify-html5.js

我应该使用哪些文件?

我认为每个人都有自己的方式来处理资产依赖关系,但我喜欢在中这样做。下面是我如何设置Bower为我的SailsJS应用程序执行资产的:

首先安装bower:

npm install --save bower
然后创建一个名为.bowerrc的文件,该文件将告诉bower将您的资产放在何处:

{
    "directory": "assets/components"
}
然后运行bower init初始化您的bower配置:

bower init
[?] name: myapp
[?] version: 0.1.0
[?] description: my app description
[?] main file:
[?] keywords:
[?] authors: me
[?] license: MIT
[?] homepage:
[?] set currently installed components as dependencies? No
[?] add commonly ignored files to ignore list? Yes
[?] would you like to mark this package as private which prevents it from being accidentally published to the registry? Yes

// ... cut out the resulting JSON ...

[?] Looks good? Yes
结果是一个名为bower.json的新文件,其中包含json配置。接下来,您需要安装history.js,它非常简单:

bower install -S history.js
执行此操作时,它会下载history.js并将其放入components文件夹中。由于History.JS不需要特定的帮助程序库,而且听起来您想使用jQuery,因此可以安装jQuery:

bower install -S jquery
接下来,您将希望链接器使用这些。所以打开Gruntfile.js。找到jsFilesToInject的部分。向其中添加新组件:

var jsFilesToInject = [
  'js/socket.io.js',
  'js/sails.io.js',
  'js/app.js',

  // Now the Bower components.
  'components/jquery/jquery.js',

  // I determined this by looking at assets/components/history.js/README.md
  'components/history.js/scripts/bundled/html4+html5/jquery.history.js'
];
然后打开views/layout.ejs并添加链接器工作所需的脚本和CSS块:

<head>
  <!--STYLES-->
  <!--STYLES END-->
  <!--SCRIPTS-->
  <!--SCRIPTS END-->
</head>
这将触发npm在运行“npm安装”时运行bower安装。因此,如果您将应用程序部署到Heroku这样的服务上,它也会自动为您检索资产

我没有提到Ajaxify,这是因为,无论出于什么原因,它都不是通过Bower打包的。你必须得到它并将它放在你的assets/js/where文件夹中,然后将它添加到链接器中

您还需要查看its,因为它说明了它还有哪些其他依赖项以及将它们包含在其中的顺序。GrunFile.JS中JS和CSS文件的顺序是它们将被注入应用程序的顺序。我会查看ajaxify文档并通过Bower添加其依赖项


希望这有帮助{ "scripts": { "postinstall": "./node_modules/bower/bin/bower install" } }