为什么没有';t';npm安装画布';创建一个javascript文件?
我是新的节点包。我试图使用以下方法将canvas安装到我的项目中:为什么没有';t';npm安装画布';创建一个javascript文件?,javascript,node.js,canvas,webpack,Javascript,Node.js,Canvas,Webpack,我是新的节点包。我试图使用以下方法将canvas安装到我的项目中: npm install canvas 我需要按照以下说明安装gtk和cairo,然后才能使其正常工作: 按照上述说明操作后,npm install canvas没有生成任何错误,以下是完整的输出(我没有看到任何错误): 我没有看到任何错误,但是当我执行npm start时,我看到: ERROR in ./~/canvas/lib/bindings.js Module not found: Error: Can't resolv
npm install canvas
我需要按照以下说明安装gtk和cairo,然后才能使其正常工作:
按照上述说明操作后,npm install canvas没有生成任何错误,以下是完整的输出(我没有看到任何错误):
我没有看到任何错误,但是当我执行npm start时,我看到:
ERROR in ./~/canvas/lib/bindings.js Module not found: Error: Can't
resolve '../build/Release/canvas' in
'C:\Users\me\myapp\node_modules\canvas\lib' @
./~/canvas/lib/bindings.js 3:17-51 @ ./~/canvas/lib/canvas.js @
./app/app.js @ ./app/components/base/base.spec.js
我查看bindings.js文件,唯一的代码是:
module.exports = require('../build/Release/canvas');
我导航到。/build/Release/canvas
文件夹,找到5个名为canvas、扩展名不同的文件:
canvas.exp
canvas.lib
canvas.map
canvas.node
canvas.pdb
但是,没有canvas.js或其他文件。“Release”文件夹中的任何文件都不是javascript。我做错了什么?我需要做什么呢?它不会生成
.js
文件,因为它使用.node
文件,该文件是用于本机节点加载项的扩展名,node.js可以很好地加载它
发件人:
如果找不到确切的文件名,Node.js将尝试加载所需的文件名,并添加扩展名:.js
,.json
,最后加载.Node
Node对.Node
文件非常满意,因此您可以直接导入它,而无需显式添加扩展名
另一方面,默认情况下,Webpack不查找.node
。如中所示,默认设置为:
extensions: [".js", ".json"]
您可以在网页包配置中将其更改为:
resolve: {
extensions: [".js", ".json", "node"]
}
同样,您可能还需要在webpack中使其工作
注意:本机节点加载项在浏览器中不起作用,要让它们使用webpack,您可能需要设置,并且您可能还需要告诉webpack将
require
延迟到运行时,将其定义为。它不会生成.js
文件,因为它使用.Node
文件,这是用于本机节点插件的扩展,Node.js可以很好地加载它
发件人:
如果找不到确切的文件名,Node.js将尝试加载所需的文件名,并添加扩展名:.js
,.json
,最后加载.Node
Node对.Node
文件非常满意,因此您可以直接导入它,而无需显式添加扩展名
另一方面,默认情况下,Webpack不查找.node
。如中所示,默认设置为:
extensions: [".js", ".json"]
您可以在网页包配置中将其更改为:
resolve: {
extensions: [".js", ".json", "node"]
}
同样,您可能还需要在webpack中使其工作
注意:本机节点加载项在浏览器中不起作用,要使它们与webpack一起工作,您可能需要进行设置,并且您可能还需要通过将
require
定义为一个来告诉webpack推迟到运行时。它将读取canvas.Node
文件。那么问题是如何编译canvas.node文件?它将读取canvas.node
文件。那么问题是如何编译canvas.node文件的呢?