首页 > 解决方案 > Webpack - 导入仅包含全局常量的文件

问题描述

我有一个包含全局常量的文件,我试图将其导入另一个 js 文件,以便我可以在其代码中使用这些常量。

globalConstant.js

global.RoutesOffersPage =  {
  routes: [
    { url: '/fr',
      title: "page daccueil france"
    },
    { url:'/fr/dothis',
      title: "trop sympa"
    }

  ]
}
global.RoutesActionPage =  {
  routes: [    
    { url: '/fr/action',
      title: 'page d'action'
    }
  ]
}
export { global.RoutesOffersPage }; 
export { global.RoutesActionPage };

我想在我的 webpack.config.js 中使用这些全局变量

webpack.config.js

import { global.RoutesOffersPage } from './globalConstant.js'
import { global.RoutesActionPage } from './globalConstant.js'

var templateOffersPage = ejs.compile(fs.readFileSync(__dirname + '/offersPageTemplate.ejs', 'utf-8'))
var paths = global.RoutesOffersPage.routes.map(r => r.url);
var paths2 = global.RoutesActionPage.routes.map(r => r.url);
//do stuff

但它的构建给了我错误:

SyntaxError: Unexpected token import

我通常知道当有函数时如何导入,但这里只是常量'global.constants'。我迷路了。

标签: javascriptwebpack

解决方案


感谢 webpack,你可以使用import它,但是由于 webpack 不会递归地捆绑它自己的设置,你不能在 webpack 配置中使用它。你必须回去要求那里:

require('./globalConstant.js');

global.RoutesOfferPage/*...*/

推荐阅读