我们有与require.js一起工作的框架,我们正在加载包,如下所示
define(["converter/service/utils"], function (utils) {现在我们可以使用utils文件了。
现在我们有了一个新的js文件,它被浏览器化和丑陋化,就像
browserify main.js | uglifyjs > bundle.js我已经将boundle.js文件添加到我的项目中(在服务文件夹下),我想加载它,但是它不能工作.
我试着按如下方式加载它:
define(["converter/service/bundle"], function (bundle) {但是包是空的(同时调试它.)
知道如何用require.js加载浏览文件吗?
我知道我们应该把它加在布罗瓦的医生身上
<script src="bundle.js"></script>但是,我们使用require.js来加载模块,我能够用其他js文件来加载模块.例如,如果我将此文件保存在项目中
https://rawgit.com/hugeen/lebab-experiment/master/lebab.js
我可以装上require.js .
编辑:
我做的是npm init &
npm install lebab --save创建文件main.js并放置以下代码
var lebab = require("lebab");并运行命令
browserify --standalone someName main.js | uglifyjs > bundle.js它圆满结束了
将bundle.js文件放在converter/service文件夹下
并试着要求它如下:
define(["converter/service/bundle"], function (bundle) {或者也是
define(["converter/service/someName"], function (bundle) {我是不是失踪了? work...what?
EDIT2
由于我们使用的工具(包装require.js)很难跟踪正确的错误,有一些工具(require.js),我用webstoram和一些项目调整来验证它。我只想确认包是正确创建的..。
发布于 2017-07-20 16:20:39
您的包不包含允许RequireJS加载它的必要代码,因为默认情况下,browserify不包括所需的代码。获得所需结果的一种方法是使用--standalone告诉Browserify在包中放置一个UMD包装器:
browserify --standalone someName main.js | uglifyjs > bundle.jssomeName是UMD包装器将使用的名称,如果它检测到它不在CommonJS或AMD环境中运行。在这种情况下,它将将您的包导出为全局空间中的符号someName。你得决定你想在那里用什么名字。
在UMD包装器就位后,您的包将检测到它是否运行在AMD环境中(因为RequireJS使define可用),并将调用define向RequireJS注册为一个模块。
https://stackoverflow.com/questions/45219995
复制相似问题