在早午餐中加载dotenv和polyfill

时间:2017-04-26 16:02:55

标签: javascript brunch

我正在尝试使用构建工具brunch为我的反应应用制作一些样板。这很容易kickstart,但我需要一些小东西来使我的开发更完整。其中一个是环境变量。

我尝试了一些想法,但没有任何效果。比如使用entryPoints加载执行函数的配置JS文件:

早午餐-config.js

exports.files = {
  javascripts: {
    joinTo: {
      'dependencies.js': /^(?!app\/)/,
      'bundle.js': /^app\//
    },
    entryPoints: {
      'app/confs.js': 'bundle.js'
    }
  },
  stylesheets: {
    joinTo: 'app.css'
  },
};

exports.plugins = {
  babel: { presets: ['latest', 'react'] }
};

confs.js

require('dotenv').config();
require('whatwg-fetch');

但就目前而言,没有任何作用......有人能给我一些想法吗?

提前致谢。

修改

我在配置和结构中更改了一些内容,这个想法仍然相同,在app bootstrap中加载polifyllsenv变量。

现在confs.jsinit.js,不会编译为bundle.js,而是将其自己的文件编译为public/

里面的代码是相同的,brunch-config.js是:

exports.files = {
  javascripts: {
    joinTo: {
      'dependencies.js': /^(?!app\/)/,
      'bundle.js': 'app/**/*[!init].js', // all but not init.js
      'init.js': 'app/init.js' // put init.js in it's own file into public/
    }
  },
  stylesheets: {
    joinTo: 'app.css'
  },
};

exports.plugins = {
  babel: { presets: ['latest', 'react'] },
  sass: {
    options: {
      includePaths: ['node_modules/normalize-css/']
    }
  }
};

但是编译的init.jsrequire.register()中是空的,无论我在我的文件中放入什么代码:

require.register("init.js", function(exports, require, module) {
"use strict";

});

1 个答案:

答案 0 :(得分:0)

<script>require('confs');</script>
index.html中的

通常,您只需要HTML文件中的一个初始Javascript文件。在此Javascript文件中,您需要其他软件包。这是必要的,因此以某种方式使包之间的依赖关系显式。