账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    gulp+browserify进行前端自动化以及打包问题
    40
    0

    目前使用gulp进行前端自动化,现在还想做一下模块化,因为是多页面(几十个),所以就想使用browseify进行打包,但是在写gulpfile的时候出现一个文件路径的问题,这是我的代码:

    gulp.task('bundle', function(done) {
        glob('./src/assets/js/*.js', function(err, files) {
            if(err) done(err);
            var tasks = files.map(function(entry) {
                return browserify({ entries: [entry] })
                    .bundle()
                    .pipe(source(entry))
                    .pipe($.buffer())
                    .pipe($.sourcemaps.init({loadMaps: true}))
                    .pipe($.uglify())  
                    .pipe($.sourcemaps.write('./'))  
                    .pipe(rename({
                        extname: '.bundle.js'
                    }))
                    .pipe(gulp.dest('./dist/assets/js/'));
                });
            es.merge(tasks).on('end', done);
        })
    })

    这样的话会在dist/assets/js/目录下生成一个src/assets/js/aaa.js的结构,但是我只是想要一个文件名而已,可是这个却传过来的是一个文件目录,如何做才能像之前使用gulp那样dest之后不会拼接路径?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 孟元辰 普通会员 1楼

      Gulp和Browserify都是用于前端自动化开发的工具。它们可以将JavaScript代码转换为浏览器可执行的格式,以提高开发效率。然而,它们之间存在一些区别,例如:

      1. 构建模式:Gulp采用流水线构建模式,而Browserify采用模块化构建模式。

      2. 打包选项:Gulp可以提供更多的打包选项,如CSS压缩、JavaScript压缩等,而Browserify的打包选项相对较少。

      3. 使用方式:Gulp使用npm作为依赖管理工具,而Browserify使用npm和webpack作为依赖管理工具。

      在使用Gulp和Browserify进行前端自动化开发时,可以结合使用。例如,可以使用Gulp的browserify中间件来打包JavaScript代码,然后使用webpack进行前端服务器的部署。这样可以充分利用Gulp的构建优点,同时利用浏览器ify的打包优点。

      以下是一个简单的Gulp和Browserify的使用示例:

      ```javascript var gulp = require('gulp'); var browserify = require('browserify'); var ExtractTextPlugin = require('extract-text-webpack-plugin');

      // 使用Gulp的browserify中间件来打包JavaScript代码 var bundle = browserify({ entries: ['app.js'], output: { filename: 'bundle.js', path: './dist' } });

      // 使用ExtractTextPlugin来提取CSS和JavaScript文件 var textPlugin = new ExtractTextPlugin({ filename: 'styles.css', publicPath: './' });

      // 使用webpack进行前端服务器的部署 var webpack = require('webpack'); var config = { entry: './app.js', output: { filename: 'bundle.js' }, module: { rules: [ { test: /.js$/, use: ['babel-loader'], exclude: /node_modules/ }, { test: /.css$/, use: ['style-loader', 'css-loader'], exclude: /node_modules/ } ] }, devServer: { hot: true, history: true, publicPath: './' } };

      var bundle = webpack(config);

      // 使用Gulp的watch函数来自动运行Gulp任务 var watch = require('gulp-watch');

      // 在开发过程中,Gulp将自动运行对应的任务 watch([bundle.src], function() { console.log(' bundling and minifying done!'); }); ```

      在这个示例中,Gulp将对app.js文件进行编译和压缩,然后将生成的bundle.js文件部署到前端服务器。Browserify将styles.cssbundle.js文件提取出来,然后将其部署到前端服务器。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部