javascript - 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'。我迷路了。
解决方案
感谢 webpack,你可以使用import
它,但是由于 webpack 不会递归地捆绑它自己的设置,你不能在 webpack 配置中使用它。你必须回去要求那里:
require('./globalConstant.js');
global.RoutesOfferPage/*...*/
推荐阅读
- sql - 如果少于 N 行,则为每个类别选择前 N 个无排序
- java - liferay 子域在一段时间后没有重定向
- youtube-iframe-api - 如何从 iframe 中删除 youtube 标题?
- ngxs - 选择器什么时候执行?ngxs
- android - 如何在 iOS/Android 应用程序中运行 Vue.js?
- android - Android 应用程序在没有任何堆栈跟踪线索的情况下停止,我应该从哪里开始调试
- json - 在 Swift 中解析嵌套的 JSON 数组
- c - 在 NSIS 中调用 dll 函数并返回布尔值
- google-apps-script - 如何使用分页在 YouTube API 中的每次执行中获得不同的结果?
- mysql - 当詹金斯没有数据库时,从詹金斯管道访问远程数据库