我是节点和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"
}