Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript npm安装和构建模块时的requirejs、babelify和browserify_Javascript_Requirejs_Npm_Browserify - Fatal编程技术网

Javascript npm安装和构建模块时的requirejs、babelify和browserify

Javascript npm安装和构建模块时的requirejs、babelify和browserify,javascript,requirejs,npm,browserify,Javascript,Requirejs,Npm,Browserify,我创建的npm模块有问题。它使用browserify和babelify构建 以下是package.json中的一个片段: "name": "foo", "main": "index.js", "scripts": { "start": "watchify src/foo.js -t babelify -s foo -o ./index.js" } 这基本上是整个构建过程(没有缩小或任何事情)。还有一些测试,运行起来没有问题 在src/foo.js中,我导入位于同一文件夹中的其他文件 i

我创建的npm模块有问题。它使用browserify和babelify构建

以下是
package.json
中的一个片段:

"name": "foo",
"main": "index.js",
"scripts": {
    "start": "watchify src/foo.js -t babelify -s foo -o ./index.js"
}
这基本上是整个构建过程(没有缩小或任何事情)。还有一些测试,运行起来没有问题

src/foo.js
中,我导入位于同一文件夹中的其他文件

import bar from './bar';
因此,文件结构类似于:

index.js
package.json
src/
    foo.js
    bar.js
现在,当我将模块安装到另一个完全不同的项目中,并导入它时:

import foo from 'foo';
。。。并用

watchify src/app.js -d -t babelify -o js/app.js
我得到这个错误:

Error: Cannot find module './bar' from '[file_path]/node_modules/foo/'
所以基本上(据我所知),它着眼于(现在)
var-bar=require('./bar')并在文件路径(同一文件夹)中搜索,而实际上,所有内容都捆绑到一个文件中,包括所有内容


我错过了什么?如何正确构建它?

我认为这里可能会对路径产生一些混淆,如果您的node_modules文件夹中存储了一个npm模块,您可以直接引用它而不使用“./”,因此
var bar=require('bar')
如果您想引用该文件夹中的模块,在本例中,“foo.js”将在开头添加“/”
var foo=require(“./foo”)是的,是的,这就是我正在做的
foo.js
需要
'./bar.js'
(因为它在同一个文件夹中)。但是当我在其他地方安装这个库时,它被存储在node_模块中,我只需从'foo'导入
import foo即可导入它