使用browserify独立在网页中公开api - 在Firefox

时间:2017-09-12 12:36:47

标签: javascript gulp browserify

我是节点和JavaScript的新手。我想访问网页中的API。我跟着this guide但我无法让它工作。 Firefox总是告诉我 MyLibrary未定义。我试过,但无法让它工作。但是,WebStorm IDE在代码编辑器中确实正确识别它。所以我不知道为什么它在FF中不起作用。

我有一个名为 readprotocoljson.js 的文件,我想在网页中公开,我想访问内容

import {sequenceOf, asSequence, emptySequence, generateSequence} from 'sequency';
module.exports = MyLibrary;

function MyLibrary(){}
MyLibrary.prototype.readLogFile=

function readlogfile() {
    loadJSON(function(response) {
        // Parse JSON string into object
        var actual_JSON = JSON.parse(response);

        asSequence(actual_JSON.Frames); //just for testing
        return actual_JSON.Frames;
    });

};

我按照指南创建了一个新文件 exportedModules.js

module.exports = require('./readprotocoljson.js')

在我的html中,我将lib包含在

<script src="dist/exportedModules.js"><script>
<body>
    <script>
        var exportedModules = new MyLibrary();
        var all_frames = exportedModules.readLogFile();
    </script>
</body>

我通过 gulpfile.babel.js 执行它,然后使用 - standalone 选项运行它 我的gulpfile看起来像这样:

import gulp from 'gulp';
import browserSync from 'browser-sync';
import browserify from 'gulp-task-browserify';

gulp.task('scripts', browserify({
    src: 'exportedModules.js',
    dest: 'dist',
    uglify: false,
    sourcemaps: true,
    standalone: 'MyLibrary',
    watch: {
        callback: browserSync.reload
    }
}));

我的 package.json i 包含以下相关内容:

 "dependencies": {
    "sequency": "latest",
    "browser-sync": "latest"
  },
  "devDependencies": {
    "babel-node-modules": "0.0.1",
    "babel-preset-env": "^1.6.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "babelify": "^7.3.0",
    "browserify": "latest",
    "gulp": "^3.9.1",
    "gulp-task-browserify": "latest"
  }

0 个答案:

没有答案