我有一个test.js
脚本,它定义了一个类App
,它是从一个HTML文件加载的,并且所有的工作。与browserify或webpack捆绑后访问“公共”会员
当我从test.js
创建testBundle.js
捆绑包时,使用browserify或webpack,testBundle.js
中的类App
似乎没有更多定义。
我该如何编写代码或者我应该通过什么选项来浏览以获取应用程序定义并像以前一样从HTML中使用它,但是从捆绑软件?
捆绑后,我得到的错误是:
Uncaught ReferenceError: App is not defined
HTML文件如下:
<html>
<script src="testBundle.js"></script>
<script>
var app = new App();
</script>
</html>
test.js:
'use strict';
class App {
constructor() {
console.log("App ctor")
}
}
的命令来构建包:
browserify -t [ babelify --presets [ es2015 ] ] test.js -o testBundle.js
在我看来,从内部看,该应用程序实际上是私人的。
testBundle.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){
'use strict';
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var App = function App() {
_classCallCheck(this, App);
console.log("App ctor");
};
},{}]},{},[1]);
这一切都使用JavaScript从浏览器,ES6。
很抱歉,但我相信,(希望)有更好的方法来解决这个问题,我开始一个赏金 – cdarwin