Node.js-我应该使用history.js的npm安装还是这个包中的单个文件?
我正在使用Sails.js启动一个Node.js项目,我想知道是应该npm安装history.js,还是应该下载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 另外,我在另一页看到:
- /豆子
- /多姆雷迪
- history.adapter.ender.js
- history.js
- package.json
- 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添加其依赖项
希望这有帮助我的问题有点含糊不清,这确实让我想到了我需要做的事情,因为Bower安装了历史。JS,并且我在路上也有类似的设置。看起来我要试试Bower列表中的脚本“better ajaxify”,它看起来非常好。
{
"scripts": {
"postinstall": "./node_modules/bower/bin/bower install"
}
}