3

gulp-concat に問題があります。すべての js ファイルを 1 つのファイル (dist/app.js など) に連結しようとしています。

しかし、私には理解できないことがあります。そのファイルでは、必要なファイルのパスは以前と同じです...

ここに私のgulpfile.jsがあります:

var gulp       = require("gulp");
var sourcemaps = require("gulp-sourcemaps");
var babel      = require("gulp-babel");
var concat     = require("gulp-concat");
var resolveDependencies      = require("gulp-resolve-dependencies");

gulp.task("default", function () {
  return gulp.src("client/**/*.js")
    .pipe(sourcemaps.init())
    .pipe(babel())
    .pipe(concat("app.js"))
    .pipe(sourcemaps.write("."))
    .pipe(gulp.dest("dist/js"));
});

ご覧のとおり、ネストされたフォルダーを連結したいと思います。

たとえば、私の /client/components/app.js の上部を見てください:

import React, {PropTypes} from 'react';
import AppLeftNav from './AppLeftNav';
import {AppCanvas, AppBar, Styles} from 'material-ui';

//Code here

したがって、gulp によって生成された私のアプリ app.js では、次のことがわかります。

var _AppLeftNav = require('./AppLeftNav');

これは相対パスであり、機能しません。

では、これらの必要なファイルを相対パスで処理するためのトリックは何ですか?

どうもありがとう。

編集:私が得るエラーを参照してください:

Error: Cannot find module './components/App.js'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (MyFolder\dist\js\app.js:34:24)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
4

2 に答える 2

0

単一のファイルですべてを取得する場合は、 jsfile.pipe(gulp.dest("dist/js/jsfile.js"));がファイルの名前である場所を記述する必要があります。

于 2015-08-07T08:44:38.997 に答える