无法访问所需文件

时间:2015-06-22 05:13:59

标签: javascript gulp require browserify

我正在项目中使用browserify并且正在运行以下内容:

我有一个文件test.js.在test.js中除了以下内容之外什么都没有:

var test = 'test';

现在,在同一目录中我有我的主文件' app.js'。我需要test.js并尝试访问'测试'像这样:

var testing = require(./test.js);
alert(test);

此操作失败,控制台返回'测试未定义'。

现在,我确实试过把它放在' test.js'代替:

module.exports = {
    test: 'test'
}

和in app.js:

var testing = require(./test.js);
alert(testing.test);

这确实有效,但它不是我想要的。我不想要在对象中定义每个变量,函数等。我希望在app.js中的代码之前通过gulp写入整个test.js代码文件,好像它是服务器包含或者好像两个文件都在' head' element和test.js首先写成。

这种行为甚至可能吗?

1 个答案:

答案 0 :(得分:1)

没有自定义逻辑,就无法达到你想要的效果。但是我相信你可以通过使用ES6 modules而不是CommonJS模块找到妥协。

你可以写

export var test = 'test';

声明并导出变量test。然后,您可以使用

导入它
import {test} from './test';

由于您使用的是browserify,因此将ES6模块插入CommonJS转换器非常简单。例如。你可以使用Babel