Javascript 基于文件扩展名的多个网页包生成
我想知道是否有可能在Webpack中获得类似react native如何处理基于扩展名:.ios.js和.android.js的ios/android构建的构建配置 要详细说明,鉴于此目录结构:Javascript 基于文件扩展名的多个网页包生成,javascript,webpack,Javascript,Webpack,我想知道是否有可能在Webpack中获得类似react native如何处理基于扩展名:.ios.js和.android.js的ios/android构建的构建配置 要详细说明,鉴于此目录结构: app/ index.js components/ button.web.js button.mobile.js 我想买一个 build/ web/app.js mobile/app.js 有没有人知道这在webpack中是否可行 是,使用resolve.extens
app/
index.js
components/
button.web.js
button.mobile.js
我想买一个
build/
web/app.js
mobile/app.js
有没有人知道这在webpack中是否可行 是,使用
resolve.extensions
。例如,此网页包配置代码段:
resolve: {
extensions: ['', '.js', '.mobile.js']
}
当遇到require('./button')
时,将导致网页包查找button
、button.js
,最后查找button.mobile.js
。可以将扩展名设为命令行参数。例如,如果将yargs
添加到项目中,并在网页包配置文件中使用它:
const argv = require('yargs').argv;
... {
resolve: {
extensions: ['', '.js', '.' + argv.target + '.js']
}
}
然后,webpack--target=mobile
也将在捆绑包中包含.mobile.js
文件,同样对于webpack--target=web
或任何其他目标
请注意,如果button.js
和button.mobile.js
都存在,则需要找到第一个,其余的都将被忽略。如果您同时拥有组件的公共部分和特定于平台的部分,则必须将这两个部分放入具有不同名称的文件中,并且需要这两个部分-例如button.js
和button platform.mobile.js
;然后var-button=require('./按钮');var buttonPlatform=require(“./按钮平台”)
并将两者合并
编辑:回答问题的第二部分
同样,可以使用yargs
-将上面的--target
参数插入网页配置的输出
部分,即可创建所需的输出文件夹结构:
output: {
path: path.join(__dirname, argv.target);
filename: 'app.js'
}
@StefanDragnev如何导入按钮
组件<代码>从“组件/按钮”导入按钮
?嗯,是的。如果这是你要问的,没有扩展名z