浏览多页面网站,包括gulp和factor bundle
我试图使用Browserify和factor bundle在页面上加载特定模块 以下是我组织JS源文件的方式:浏览多页面网站,包括gulp和factor bundle,gulp,browserify,browserify-shim,Gulp,Browserify,Browserify Shim,我试图使用Browserify和factor bundle在页面上加载特定模块 以下是我组织JS源文件的方式: bower_compoments ├── jquery/... ├── foundation/... └── [...] static/src/js ├── common.js ├── home.js └── other_page.js 这是我的生成文件夹: static/build/js ├── main.js // must be loaded on all pages: bun
bower_compoments
├── jquery/...
├── foundation/...
└── [...]
static/src/js
├── common.js
├── home.js
└── other_page.js
这是我的生成文件夹:
static/build/js
├── main.js // must be loaded on all pages: bundle of bower_compoments + common.js
├── home.js
└── other_page.js
home.html
还有关于Browserify的package.son的摘录
这个版本还可以。但在加载主页时出错:未找到模块“主页”
我做错了什么?
这是在多页面网站上使用browserify的好方法吗
我对整个项目进行了回购:
<script type="text/javascript" src="static/build/js/main.js"></script>
<script type="text/javascript" src="static/build/js/home.js"></script>
<script>
// Trying to load and execute the module
var home = require('home'); // Raise an error "Module not found"
home();
</script>
<script type="text/javascript" src="static/build/js/main.js"></script>
<script type="text/javascript" src="static/build/js/other_page.js"></script>
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var factor = require('factor-bundle');
gulp.task('build:scripts', function () {
return browserify({
basedir: "static/src/js/",
entries: [
'./common.js',
'./home.js',
'./other_page.js'
],
debug: true
})
.plugin(factor, {
outputs: [
'static/build/js/home.js',
'static/build/js/other_page.js'
]
})
.bundle()
//Pass desired output filename to vinyl-source-stream
.pipe(source('main.js'))
.pipe(gulp.dest('static/build/js/'));
});
"browser": {
"jquery": "./bower_components/jquery/dist/jquery.js",
"foundation": "./bower_components/foundation/js/foundation/foundation.js",
"foundation-dropdown": "./bower_components/foundation/js/foundation/foundation.dropdown.js"
},
"browserify": {
"transform": [
"browserify-shim"
]
},
"browserify-shim": {
"jQuery": "$",
"foundation": {
"depends": [
"jquery:$"
]
},
"foundation-dropdown": {
"depends": [
"foundation"
]
}
},