जोड़ने फ़ाइलों के माध्यम से आयात काम नहीं करता है

0

सवाल

एक दिन के लिए अब, मैं नहीं समझ सकता क्यों कोलाहल घूंट के लिए काम नहीं करता है के लिए मुझे, या मैं गलत तरीके से कनेक्ट मॉड्यूल ...
त्रुटि ब्राउज़र में इस तरह है:

Uncaught ReferenceError: require is not defined
  at main.min.js:1

मैं कनेक्ट मॉड्यूल के लिए इस तरह:

import focusVisible from "focus-visible";

कोड में main.min.js फ़ाइल:

"use strict";var e;(e=require("focus-visible"))&&e.__esModule;

घूंट कार्य:

const { src, dest, series, watch, parallel } = require('gulp'),
      fileinclude = require('gulp-file-include'),
      rename = require("gulp-rename"),
      uglify = require('gulp-uglify-es').default,
      babel = require("gulp-babel"),
      notify = require("gulp-notify"),
      browserSync = require("browser-sync").create()

const changingScripts = () => {
  return src(['src/js/main.js', 'src/js/pages/**/*.js'])
    .pipe(babel())
    .pipe(fileinclude())
    .pipe(dest('dist/js'))
    .pipe(uglify({
      toplevel: true
    }).on('error', notify.onError()))
    .pipe(rename({
      extname: '.min.js'
    }))
    .pipe(dest('dist/js'))
    .pipe(browserSync.stream())
}

पैकेज.json फाइल इस तरह से है:

{
  "name": "project_name",
  "version": "1.0.0",
  "description": "some description of the project",
  "scripts": {},
  "keywords": ["keyword_1", "keyword_2", "keyword_3"],
  "author": "project_author",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.16.0",
    "@babel/eslint-parser": "^7.16.3",
    "@babel/preset-env": "^7.16.4",
    "@babel/register": "^7.16.0",
    "browser-sync": "^2.27.7",
    "eslint": "^8.2.0",
    "eslint-config-airbnb-base": "^15.0.0",
    "eslint-plugin-import": "^2.25.3",
    "gulp": "^4.0.2",
    "gulp-babel": "^8.0.0",
    "gulp-file-include": "^2.3.0",
    "gulp-notify": "^4.0.0",
    "gulp-rename": "^2.0.0",
    "gulp-uglify-es": "^3.0.0"
  }
}

के .babelrc फ़ाइल इस तरह दिखता है:

{
  "presets": ["@babel/preset-env"]
}

ऐसा लगता है जैसे सब कुछ लागू किया गया है क्या है की जरूरत है.
यदि आप मदद कर सकते हैं, मैं आभारी होंगे.
पूरी परियोजना फंस गया था, इस त्रुटि की वजह से ...
यह सलाह दी जाती है को हल करने के लिए समस्या का उपयोग कर के बिना Webpack :)

gulp gulp-babel javascript node.js
2021-11-20 06:47:49
1

सबसे अच्छा जवाब

1

ऐसा लगता है जैसे तुम लापता हो सकता है एक निर्माण कदम है जहाँ आप को बदलने के लिए अपने कोड हो सकता है ब्राउज़र संगत है । के require विधि में उपलब्ध नहीं है ब्राउज़र.

आप का उपयोग करने के लिए एक उपकरण में बदल देती है, जो अपने कोड इतना है कि यह किया जा सकता ब्राउज़र में भाग गया. इस तरह के एक उपकरण है Browserify, एक और है रोलअप, और वहाँ और अधिक हो सकता है. इन उपकरणों को आम तौर पर बोल, बंडल निर्भरता स्रोतों के साथ संयोजन के रूप में अपने आवेदन कोड है, जो की अनुमति देता है की आवश्यकता होती बयान में तब्दील किया जा सकता कुछ अन्य पैटर्न ब्राउज़र करता है समझते हैं ।

आप कर सकते हैं लगता है कि यह की इस तरह (उदाहरण सरलीकृत):

लिखा कोड के द्वारा आप

// main.js
const stringify = require('stringify')

alert(stringify({ error: "No authorization" })

निर्भरता स्रोत में node_modules

// node_modules/stringify/index.js
function stringify(obj) {
  return JSON.stringify(obj);
}

expost.default = stringify

बंडल परिणाम

// dist/main.js
function stringify(obj) {
  return JSON.stringify(obj);
}

alert(stringify({ error: "No authorization" })

घूंट मेजबान एक आधिकारिक उदाहरण के उपयोग में अपने भंडार के लिए browserify:

'use strict';

var browserify = require('browserify');
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var log = require('gulplog');
var uglify = require('gulp-uglify');
var reactify = require('reactify');

gulp.task('javascript', function () {
  // set up the browserify instance on a task basis
  var b = browserify({
    entries: './entry.js',
    debug: true,
    // defining transforms here will avoid crashing your stream
    transform: [reactify]
  });

  return b.bundle()
    .pipe(source('app.js', { sourcemaps: true }))
    .pipe(buffer())
        // Add transformation tasks to the pipeline here.
        .pipe(uglify())
        .on('error', log.error)
    .pipe(gulp.dest('./dist/js/', { sourcemaps: '../sourcemaps/' }));
});

घूंट संस्करण नियंत्रण: Browserify + बदल देती है

मैं कोशिश करने के लिए बनाने के लिए एक उदाहरण के लिए आप, लेकिन यह मुश्किल क्या कहने के लिए सबसे अधिक प्रयोग करने योग्य घूंट स्क्रिप्ट के लिए किया जाएगा अपनी परियोजना के लिए. मैं जोड़ देंगे एक उदाहरण है, लेकिन कृपया नहीं है, के रूप में यह विचार एक तय तैयार है कि सामान्य उपयोग के लिए. यह प्रयास करने के लिए की नकल व्यवहार के अपने मौजूदा घूंट स्क्रिप्ट है. तुम चाहते हो सकता है अन्य व्यवहार लंबे समय में, उदाहरण के लिए, क्योंकि bundling इस स्क्रिप्ट बनाता है नहीं हो सकता है के रूप में अनुकूलित के रूप में अन्य विन्यास या टूलींग की अनुमति होगी.

const { dest } = require("gulp"),
  browserify = require("browserify"),
  babelify = require("babelify"),
  glob = require("glob"),
  source = require("vinyl-source-stream"),
  fileinclude = require("gulp-file-include"),
  rename = require("gulp-rename"),
  uglify = require("gulp-uglify-es").default,
  notify = require("gulp-notify"),
  browserSync = require("browser-sync").create(),
  es = require("event-stream");

const changingScripts = (done) => {
  // Define files you want to have as inputs
  var files = ["src/js/main.js", ...glob.sync("src/js/pages/**/*.js")];
  // Bundle each file separately so that file structure is preserved in
  // dist
  var tasks = files.map((file) => {
    return (
      browserify({
        entries: [file],
        debug: true,
        transform: [
          // Apply babel transforms here so that browserify knows how to bundle
          // the files
          babelify.configure({
            presets: ["@babel/preset-env"],
          }),
        ],
      })
        .bundle()
        // Transform the stream content bable bundling returns into a gulp
        // friendly format
        .pipe(source(file))
        // Not sure how fileinclude is used in your project. May be that it
        // doesn't work when it's configured in this way.
        .pipe(fileinclude())
        .pipe(dest("dist/js"))
        .pipe(
          uglify({
            toplevel: true,
          }).on("error", notify.onError())
        )
        .pipe(
          rename({
            extname: ".min.js",
          })
        )
        .pipe(dest("dist/js"))
        .pipe(browserSync.stream())
    );
  });

  return es.merge(tasks).on("end", done);
};

exports.default = changingScripts;

घूंट: बनाने के लिए कई बंडलों के साथ Browserify

2021-11-20 08:39:50

यह काम किया, धन्यवाद!
SineYlo

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में