gpt4 book ai didi

javascript - 为 React 模板配置 browserify

转载 作者:行者123 更新时间:2023-12-02 14:14:28 25 4
gpt4 key购买 nike

我在使用 Browserify 和 Babel 构建 bundle.js 文件时遇到问题。

标题.js:

import HeaderRT from './Header.rt';

标题.rt:

<div>Header></div>

错误:

Browserify Error
.../Header.rt:1
<div>Header</div>
^
ParseError: Unexpected token

据我了解,所有“.rt”文件都需要由react-templates处理,而不是由Browserify处理。但我该如何配置呢?

这是我的 gulp 文件:

var gulp        = require('gulp');
var fs = require("fs");
var browserify = require("browserify");
var babelify = require("babelify");
var source = require('vinyl-source-stream');
var gutil = require('gulp-util');
var inject = require('gulp-inject');
var rename = require('gulp-rename');
var clean = require('gulp-clean');
var debug = require('gulp-debug');
var watchify = require('watchify');
var assign = require('lodash.assign');
var sourcemaps = require('gulp-sourcemaps');
var rt = require('gulp-react-templates');

var customOpts = {
entries: ['./main.js'],
debug: true,
ignoreTransform: ['rt']
};
var opts = assign({}, watchify.args, customOpts);
var b = watchify(browserify(opts));
b.transform(babelify);

gulp.task('js', bundle);
b.on('update', bundle);
b.on('log', gutil.log);

gulp.task('default', ['js']);

function bundle() {
gulp.src('./dist/*.js', {read: false})
.pipe(clean());

var bundleFile = b.bundle()
.on('error', gutil.log.bind(gutil, 'Browserify Error'))
.pipe(source('./bundle.js'))
.pipe(rename('bundle_' + parseInt(Math.random() * 100000) + '.js'))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./dist'));

gulp.src('./index.html')
.pipe(inject(bundleFile))
.pipe(gulp.dest('./'));

return bundleFile;
}

提前致谢!

最佳答案

我通过使用react-templatify了解了如何做到这一点。对于遇到同样问题的人,我们只需要将这一行添加到 browserify 的配置中即可:

transform: ['react-templatify']

所以它的配置变成:

var customOpts = {
entries: ['./main.js'],
debug: true,
transform: ['react-templatify']
};
var opts = assign({}, watchify.args, customOpts);

关于javascript - 为 React 模板配置 browserify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39170015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com