这是我做 Node 的第一天,尝试捆绑一些 js 文件时遇到了一些问题。
MyFolder
|-- app (folder)
| |-- Collections (contains: movies.js)
| |-- Models (contains: movie.js)
| |-- node_modules
|-- main.js
|-- node_modules (folder)
|-- static (folder)
这是我要压缩成static/bundle.js的js文件的内容。
// app/models/movie.js
var Backbone = require("backbone");
var Movie = Backbone.Model.extend({
defaults: {
title: "default",
year: 0,
description: "empty",
selected: false
}
});
module.exports = Movie;
// app/collections/movies.js
var Backbone = require("backbone");
var Movie = require('models/movie');
var Movies = Backbone.Collection.extend({
model: Movie
});
module.exports = Movies;
当我运行 browserify -r ./app/main:app > static/bundle.js
时,bundle.js 文件是使用 app/main.js 中的脚本创建的。它按预期工作。
但是当我运行 browserify -r ./app/collections/movies.js:movies\-r ./app/models/movie.js:movie > static/bundle.js
时,它创建一个空的 bundle.js 并显示:
Error: Cannot find module '/Users/MyFolder/app/models/movie.js:movie' from '/Users/MyFolder'
我的文件夹 app/node_modules
与 ln -sf ../models .
和 ln -sf ../collections .
问题 1:任何提示我做错了什么?
问题2:如果static/bundle.js
存在。再次运行 browserify 是否会覆盖文件?在我的本地测试中它不会覆盖,所以我应该每次都删除这个文件进行更新吗?
最佳答案
可能会考虑将 ./
添加到您的路径中:
var Movie = require('./models/movie');
关于node.js - Browserify在尝试捆绑许多js文件时找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652556/