需要一个不是模块的文件

时间:2016-11-07 20:30:46

标签: javascript webpack

我有一些包含普通javascript的js文件,但它们不是模块,我如何在主文件中导入这些脚本?

foo.js

function f1(){
   return;
}
function f2(){
   return;
}

main.js

require('./foo.js'); //import inline

console.log('hello world!');

f1();

捆绑预期

/******/
/******/ //webpack stuff
(function(){

    function f1(){
       return;
    }
    function f2(){
       return;
    }

    console.log('hello world!');

    f1();
})();

2 个答案:

答案 0 :(得分:1)

由于您使用的是webpack,因此可以使用exports加载程序:

var foo = require("exports?f1,f2!./foo.js");
foo.f1();
foo.f2();

加载程序将注入exports个分配。

答案 1 :(得分:0)

我最终使用了名为grunt-import的grunt任务。它完全符合我的要求,然后运行webpack。

<强> foo.js

function f1(){
   return;
}
function f2(){
   return;
}

<强> main.js

@import "foo.js"; //import inline

console.log('hello world!');

f1();

输出继电器:

function f1(){
   return;
}
function f2(){
   return;
}

console.log('hello world!');

f1();

Grunt任务样板

module.exports = function(grunt) {

    // Project configuration.
    grunt.initConfig({
        import: {
            dist: {
                src: 'src/hello/main.js',
                dest: 'dist/main.js',
            }
        },
    });

    grunt.loadNpmTasks('grunt-import');

};

然后在终端上运行grunt import