簡體   English   中英

如何在Browserify中使用多個包

[英]How to use multiple bundles in browserify

我只是想嘗試一個簡單的示例,用Browserify生成多個捆綁軟件,但我無法使其正常工作。 我從瀏覽器文檔( https://github.com/substack/node-browserify#multiple-bundles )中的一個簡單示例開始:

beep.js:

var robot = require('./robot');
alert(robot('beep'));

robot.js:

module.exports = function (s) { return s.toUpperCase() + '!' };

然后構建捆綁包:

browserify -r ./robot.js > common.js
browserify -x ./robot.js beep.js -d > beep_bundle.js

我的頁面:

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>beep</title>

    <script src="common.js"></script>
    <script src="beep_bundle.js"></script>
</head>
<body>

</body>
</html>

我發現它在運行時出現錯誤:

Uncaught Error: Cannot find module '/robot.js' 

這似乎是因為兩個輸出文件beep_bundle.jscommon.js之間存在差異。

beep_bundle.js(請注意,字符串“ /robot.js”出現在映射中):

(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
var robot = require('./robot.js');
alert(robot('beep'));
},{"./robot.js":"/robot.js"}]},{},[1])
//# ...

common.js(請注意,字符串“ ./robot.js”出現在映射中):

require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"./robot.js":[function(require,module,exports){
module.exports = function (s) { return s.toUpperCase() + '!' };
},{}]},{},[])
//# ...

如果我手動編輯beep_bundle.js以使其具有“ ./robot.js”,則它可以正常工作。 我應該怎么做才能使其正常工作?

甚至不要在Browserify 5+上嘗試此操作,它已嚴重損壞... https://github.com/substack/node-browserify/issues/933

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM