【发布时间】:2018-09-28 19:27:24
【问题描述】:
我试图弄清楚 webpack 是否可以做这样的事情。我有一些代码要捆绑到特定设备上。所以我创建了一个 ViewFactories.ios.tsx,我也有 ViewFactories.tsx。我遇到的问题是,如果我在加载程序测试中忽略 .ios.tsx,它仍然会被捆绑。我正在使用ignore-bundler 插件来忽略 .ios.tsx 文件,但引用只是空的。即:
/** still getting loaded here: **/
const ViewFactories_ios_1 = __importDefault(__webpack_require__(/*! ./ViewFactories.ios */ "./build/app/src/modules/layouts/factories/ViewFactories.ios.tsx"));
/*** the referenced section, but blank now ***/
/***/ "./build/app/src/modules/layouts/factories/ViewFactories.ios.tsx":
/*!***********************************************************************!*\
!*** ./build/app/src/modules/layouts/factories/ViewFactories.ios.tsx ***!
\***********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
/***/ (function(module, exports) {
/***/ }),
我真正想要的是对 ViewFactories.tsx 的引用,而不是 ViewFactories.ios.tsx。 webpack 中是否有某种依赖关系图,我可以访问它来告诉加载器使用默认值而不是 .ios.tsx?
我的 webpack 配置:
{
test: (modulePath) => {
if (/\.ios\./.test(modulePath)) {
console.log(modulePath);
return false;
}
return /\.tsx?$/.test(modulePath);
},
loader: "awesome-typescript-loader",
options: {
configFileName: 'tsconfig.web.json',
transpileOnly: true,
errorsAsWarnings: true,
}
},
{
test: (modulePath) => {
if (/\.ios\./.test(modulePath)) {
console.log('Ignored: ', modulePath);
return true;
}
return false;
},
loader: 'ignore-loader'
},
【问题讨论】:
标签: javascript webpack