2016-12-19 189 views
-1

我想安装了一个叫做tone这样我就可以使用此代码基本NPM使用 - 安装包错误

//create a synth and connect it to the master output (your speakers) 
var synth = new Tone.Synth().toMaster(); 

//play a middle 'C' for the duration of an 8th note 
synth.triggerAttackRelease("C4", "8n"); 

这是我到目前为止已经试过(以及完全重新安装节点):

C:\Users\HP\Desktop\tone-js>npm install tone 
C:\Users\HP 
`-- [email protected] 

npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\HP\package.json' 
npm WARN HP No description 
npm WARN HP No repository field. 
npm WARN HP No README data 
npm WARN HP No license field. 

所以我猜我需要创建一个package.json文件。我尝试过npm init,它要求输入一个入口点,我不明白。

我只是想能够使用上面的代码。我可能需要在顶部添加一个require语句 - 应该怎么做?

我也试过全球安装tonenpm install tone -g,但不知道如何要求模块。我也猜测本地是更好的练习。

另外,为什么当我运行npm install tone它是否正在寻找package.json在'C:\Users\HP\package.json'当我在不同的文件夹?

所有非常混乱!任何帮助赞赏。

回答

0

当您运行npm init时,它要求的条目文件是您的应用程序的主文件。例如,如果您的应用程序的起点位于app.js,那么您的输入文件将是app.js。默认情况下,如果您不提供一个,它将被设置为index.js

另一个技巧使用npm init,如果你不想安装的package.json要具体到项目,在这个时间点,使用-f标志,该标志将强制使用所有默认设置,为您的package.json

没有在您的项目初始化NPM因为没有package.json这是强制性的,以节省安装的软件包无法保存任何NPM包。

+0

真的不喜欢你的答案错误是“正确的”一个 “没有初始化你的项目中的npm,你不能安装任何npm包,因为不会有'package.json'这是强制安装包”只是简单的下降... 这是他没有的全部原因让它开始于 – CreasolDev

+0

@CreasolDev没有有意义的项目会在不需要引用它的情况下安装依赖项,并且必须这样做有一个'package.json'非常切和干燥。另外,我的答案实际上回答了这个问题,缺少一个正确创建的'package.json'。 – peteb

+0

Ofcourse它不会,但指出你不能安装模块,除非你有一个package.json文件仍然是错误的,没有必要创建一个package.json文件来安装问题,所以它仍然不是正确的答案 – CreasolDev

0

使用Node.js和第三方模块时,您应该了解几件事情。

  1. package.json文件描述您的项目。它列出了您使用--save标记安装的所有模块(所以npm install --save tone
    您还应该知道,package.json文件用于告诉其他人谁是项目的作者,可选择在开发过程中具有哪些相关性(主要是devDepenencies,主要是用于测试的模块等),NPM使用它,当你发布你自己的NPM包)
  2. 要使用一个模块,你需要需要它,并指定它的出口对象变量(const Tone = require('tone');
  3. 的入口点是同样的文件你打电话node,所以如果你通常执行node app.js,你的入口点是app.js。 NPM在发布模块时知道它公开发布哪个文件。(提示:您现在还可以运行npm start代替node app.js
  4. 对于快速测试,只是执行npm install note仍允许您require('tone');而无需package.json
+0

安装模块有一个简单的语法安装任何Node.js的模块 - $ NPM安装 例如,以下是命令来安装一个著名的Node.js Web框架模块调用快车 - $ npm install express 现在你可以在你的js文件中使用这个模块,如下所示 - var express = require('express'); – Robin

+0

我真的不知道你的意思是什么意思 – CreasolDev

+0

对不起,我被切断了:我仍然感到困惑。它在这里说https://www.tutorialspoint.com/nodejs/nodejs_npm.htm,我可以用$ npm install 来安装模块现在你可以在你的js文件中使用这个模块了 - var express = require ('express');' (重点4-是表达安装模式还是其他包?) 文章说创建模块时使用--save,但我不想创建任何复杂 - 只是玩一些想法。为什么我不能像在包装页面上说的那样使用'npm install tone'?对不起,密集... – Robin