我有一组导出,我通常从一个目录导入:
Step 17/34 : COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groovy
COPY failed: stat /var/lib/docker/tmp/docker-builder028619870/init.groovy: no such file or directory
但是,如果我使用特定的NODE_ENV集运行webpack,我希望将所有此类导入的根目录视为es6:
docker build -t jenkins-k8s .
我该怎么做,例如让webpack动态解析import { myThing } from 'path/to/dir/es5/things'
到import { myThing } from 'path/to/dir/es6/things'
?
答案 0 :(得分:6)
您可以使用别名。
例如,在您的webpack配置中,您可以使用以下内容:
const alias = {};
if (NODE_ENV === ...) {
alias['path/to/dir/es5'] = 'path/to/dir/es6'
}
答案 1 :(得分:1)
这是我处理这些东西的方法。
,按以下方式添加env变量
"script": "... webpack --env.SOME_ENV_VAR=value -p"
然后,在您的webpack.config文件中添加您的DefinePlugin
plugins: [
...
new webpack.DefinePlugin({
SOME_ENV_VAR: env.SOME_ENV_VAR,
}),
...
]
然后您可以在代码中使用SOME_ENV_VAR作为全局变量
/* global SOME_ENV_VAR */
const esX = SOME_ENV_VAR === value ? 'es5' : 'es6';
myThing = require(`path/to/dir/${esX}/things`)