首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Browserify源映射只使根文件可访问(由绝对路径名引起)

Browserify源映射只使根文件可访问(由绝对路径名引起)
EN

Stack Overflow用户
提问于 2014-08-14 08:34:30
回答 2查看 2.7K关注 0票数 3

我要编译我的客户端代码:

代码语言:javascript
复制
var browserify = require('browserify');
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var reactify = require('reactify');

gulp.task('compile', function() {
  return browserify('./public/js/app.js', {transform: reactify, debug: true})
    .bundle()
    .pipe(source('app.js'))
    .pipe(gulp.dest('./public/dist'));
});

问题是只有根./public/js/app.js文件显示在chrome的source选项卡中。app.js中需要的所有文件都丢失了。

在对源地图数据进行反编译之后,似乎只有./public/js/app.js与相对的url一起列出,所有其他文件在我的机器上都有绝对的url。

代码语言:javascript
复制
{
    "version": 3,
    "sources": [
        "/Users/andreaskoberle/projects/private/webshell/node_modules/browserify/node_modules/browser-pack/_prelude.js",
        "./public/js/app.js",
        "/Users/andreaskoberle/projects/private/webshell/public/js/cockpits/index.js",
        "/Users/andreaskoberle/projects/private/webshell/public/js/cockpits/links.js",
        "/Users/andreaskoberle/projects/private/webshell/public/js/common/Box.js",
        "/Users/andreaskoberle/projects/private/webshell/public/js/common/Grid.js",
        "/Users/andreaskoberle/projects/private/webshell/public/js/sidebar.js",
        "/Users/andreaskoberle/projects/private/webshell/public/js/webShell/ScriptSelector.js",
        "/Users/andreaskoberle/projects/private/webshell/public/js/webShell/ShellOutput.js",
        "/Users/andreaskoberle/projects/private/webshell/public/js/webShell/index.js"
    ],
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-14 09:39:20

问题是源地图中的绝对路径。在我的gulp任务中使用模源图将绝对路径转换为相对路径,修复这个问题:

代码语言:javascript
复制
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var reactify = require('reactify');
var mold = require('mold-source-map')

gulp.task('compile', function() {
  return browserify('./public/js/app.js', {transform: reactify, debug: true})
    .bundle()
    .pipe(mold.transformSourcesRelativeTo('./'))
    .pipe(source('app.js'))
    .pipe(gulp.dest('./public/dist'));
});
票数 5
EN

Stack Overflow用户

发布于 2016-12-20 22:16:12

我也有类似的问题,但在我的例子中,源地图甚至不包含绝对路径;它只有根文件的一个条目。

我来自.map的消息来源:

代码语言:javascript
复制
"sources":["theSrc/internal_www/js/renderContentPage.js"]

我的任务是:

代码语言:javascript
复制
gulp.task('compileRenderContentPage', function () {

    var b = browserify({
      entries: 'theSrc/internal_www/js/renderContentPage.js',
      debug: true
    });

    return b.transform(babelify, { presets: ['es2015'] })
      .bundle()
      .pipe(source('renderContentPage.js'))
      .pipe(buffer())
      .pipe(sourcemaps.init({loadMaps: true}))
      .on('error', gutil.log)
      .pipe(sourcemaps.write('./'))
      .pipe(gulp.dest('./browser/js/'));
});

这个问题还没有弄清楚

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25303585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档