<small id='EwM05'></small><noframes id='EwM05'>

    <legend id='EwM05'><style id='EwM05'><dir id='EwM05'><q id='EwM05'></q></dir></style></legend>
    1. <tfoot id='EwM05'></tfoot>
        <bdo id='EwM05'></bdo><ul id='EwM05'></ul>

    2. <i id='EwM05'><tr id='EwM05'><dt id='EwM05'><q id='EwM05'><span id='EwM05'><b id='EwM05'><form id='EwM05'><ins id='EwM05'></ins><ul id='EwM05'></ul><sub id='EwM05'></sub></form><legend id='EwM05'></legend><bdo id='EwM05'><pre id='EwM05'><center id='EwM05'></center></pre></bdo></b><th id='EwM05'></th></span></q></dt></tr></i><div id='EwM05'><tfoot id='EwM05'></tfoot><dl id='EwM05'><fieldset id='EwM05'></fieldset></dl></div>

      1. 在 React JS 中需要带有变量的文件

        时间:2023-05-29
        • <bdo id='lG01e'></bdo><ul id='lG01e'></ul>

              <i id='lG01e'><tr id='lG01e'><dt id='lG01e'><q id='lG01e'><span id='lG01e'><b id='lG01e'><form id='lG01e'><ins id='lG01e'></ins><ul id='lG01e'></ul><sub id='lG01e'></sub></form><legend id='lG01e'></legend><bdo id='lG01e'><pre id='lG01e'><center id='lG01e'></center></pre></bdo></b><th id='lG01e'></th></span></q></dt></tr></i><div id='lG01e'><tfoot id='lG01e'></tfoot><dl id='lG01e'><fieldset id='lG01e'></fieldset></dl></div>

              <small id='lG01e'></small><noframes id='lG01e'>

            • <tfoot id='lG01e'></tfoot>

            • <legend id='lG01e'><style id='lG01e'><dir id='lG01e'><q id='lG01e'></q></dir></style></legend>
                    <tbody id='lG01e'></tbody>
                1. 本文介绍了在 React JS 中需要带有变量的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我正在尝试在路径中要求一个带有变量的文件.类似的东西

                  I'm trying to require a file with a variable in the path. Something like

                  const langCode = this.props.langCode; // en
                  let languageFile = require('../common/languages/' + langCode);
                  

                  langCode 可以是 fr、en、de、nl.因此,我想要得到的是例如

                  Where langCode can be fr, en, de, nl. Thus what I'm trying to get is for example

                  require('../common/languages/en'); 
                  

                  当我在最后键入它时没有变量,因此 require('../common/languages/en'); 效果很好.但是当我尝试使用 require('../common/languages/' + langCode); 时,它不起作用,langCode 的值无关紧要也是zh.

                  When I type it without variable at the end, thus require('../common/languages/en'); it works good. But when I try with require('../common/languages/' + langCode); it won't work, doesn't matter that the value of the langCode is also en.

                  我得到下一个错误:

                  bundle.js:1 未捕获的错误:找不到模块 '../common/languages/en'

                  更新

                      'use strict';
                  
                  var gulp = require('gulp');
                  var connect = require('gulp-connect');
                  var open = require('gulp-open');
                  var browserify = require('browserify');
                  var source = require('vinyl-source-stream');
                  var concat = require('gulp-concat');
                  var babelify = require('babelify');
                  var sass = require('gulp-sass');
                  var merge = require('merge-stream'); // Merge all styles (css, sass and less) in one big bundle
                  var lint = require("gulp-eslint");
                  
                  var config = {
                      port: 8001,
                      devBaseUrl: 'http://localhost',
                      paths: {
                          html: "./src/*.html",
                          externals: "./src/assets/externals/*.js",
                          js: "./src/**/*.js",
                          images: './src/assets/images/**/*',
                          fonts: './src/assets/css/fonts/*',
                          css: [
                              "./src/assets/css/*.css",
                              "./node_modules/toastr/package/toastr.css"
                          ],
                          sass: './src/assets/css/*.scss',
                          dist: "./dist",
                          mainJS: "./src/main.js"
                      }
                  };
                  
                  
                  gulp.task('connect', ['watch'], function () {
                      connect.server({
                          root: ['dist'],
                          port: config.port,
                          base: config.devBaseUrl,
                          livereload: true,
                          fallback: './dist/index.html'
                      })
                  });
                  
                  gulp.task('open', ['connect'], function () {
                      gulp.src('dist/index.html')
                          .pipe(open({uri: config.devBaseUrl + ":" + config.port + "/"}));
                  });
                  
                  
                  gulp.task('html', function () {
                      gulp.src(config.paths.html)
                          .pipe(gulp.dest(config.paths.dist))
                          .pipe(connect.reload());
                  });
                  
                  
                  gulp.task('externals', function () {
                      gulp.src(config.paths.externals)
                          .on('error', console.error.bind(console))
                          .pipe(concat('external.js'))
                          .pipe(gulp.dest(config.paths.dist + '/externals'))
                          .pipe(connect.reload());
                  });
                  
                  
                  gulp.task('js', function () {
                      browserify(config.paths.mainJS)
                          .transform('babelify', {presets: ['es2015', 'react']})
                          .bundle()
                          .on('error', console.error.bind(console))
                          .pipe(source('bundle.js'))
                          .pipe(gulp.dest(config.paths.dist + '/scripts'))
                          .pipe(connect.reload());
                  });
                  
                  
                  gulp.task('images', function () {
                      gulp.src(config.paths.images)
                          .pipe(gulp.dest(config.paths.dist + '/images'));
                  });
                  
                  
                  gulp.task('styles', function () {
                      var cssStyles = gulp.src(config.paths.css)
                          .pipe(concat('styles.css'));
                  
                      var sassStyles = gulp.src(config.paths.sass)
                          .pipe(sass())
                          .pipe(concat('styles.scss'));
                  
                      var mergedStream = merge(cssStyles, sassStyles)
                          .pipe(concat('bundle.css'))
                          .pipe(gulp.dest(config.paths.dist + '/css'))
                          .pipe(connect.reload());
                  
                      return mergedStream;
                  });
                  
                  gulp.task('fonts', function () {
                      gulp.src(config.paths.fonts)
                          .pipe(gulp.dest(config.paths.dist + '/css/fonts'));
                  });
                  
                  gulp.task('lint', function () {
                      return gulp.src(config.paths.js)
                          .pipe(lint())
                          .pipe(lint.format());
                  });
                  
                  
                  gulp.task('watch', function () {
                      gulp.watch(config.paths.html, ['html']);
                      gulp.watch(config.paths.js, ['js', 'lint']);
                      gulp.watch(config.paths.externals, ['externals', 'lint']);
                      gulp.watch([config.paths.css, config.paths.sass], ['styles']);
                      gulp.watch(config.paths.images, ['images']);
                  });
                  
                  gulp.task('default', ['html', 'js', 'styles', 'externals', 'images', 'fonts', 'lint', 'open', 'watch']);
                  

                  推荐答案

                  大部分 JS bundler 无法处理动态 require 机制.尝试加载所有语言并在运行时切换它们

                  Most of JS bundlers cannot handle dynamic require mechanism. Try to load all languages and switch them in runtime

                  let languages = {
                      en:  require('../common/languages/en'),
                      ru: require('../common/languages/ru'),
                      de: require('../common/languages/de')
                  }
                  const langCode = this.props.langCode; // en
                  let languageFile = languages[langCode];
                  

                  这篇关于在 React JS 中需要带有变量的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:无法使用 browserify 和 debowerify 获取外部库 下一篇:如何告诉 Gulp 跳过或忽略 gulp.src([...]) 中的某些文

                  相关文章

                  最新文章

                2. <legend id='7g3gt'><style id='7g3gt'><dir id='7g3gt'><q id='7g3gt'></q></dir></style></legend>
                      <bdo id='7g3gt'></bdo><ul id='7g3gt'></ul>

                    <small id='7g3gt'></small><noframes id='7g3gt'>

                    <i id='7g3gt'><tr id='7g3gt'><dt id='7g3gt'><q id='7g3gt'><span id='7g3gt'><b id='7g3gt'><form id='7g3gt'><ins id='7g3gt'></ins><ul id='7g3gt'></ul><sub id='7g3gt'></sub></form><legend id='7g3gt'></legend><bdo id='7g3gt'><pre id='7g3gt'><center id='7g3gt'></center></pre></bdo></b><th id='7g3gt'></th></span></q></dt></tr></i><div id='7g3gt'><tfoot id='7g3gt'></tfoot><dl id='7g3gt'><fieldset id='7g3gt'></fieldset></dl></div>

                      <tfoot id='7g3gt'></tfoot>