我有以下任务构建我的应用程序:
const app = new Metalsmith(config.styleguide.path.root);
app.use(
msDefine({
production: false,
rootPath: '/'
})
);
app.use(
msIf(
gutil.env.config === 'release',
msDefine({
production: true,
rootPath: '/styleguide/'
})
)
);
app.build(...);
我需要从应用程序中访问rootPath
,例如:
import stuff from 'stuff';
export class IconCtrl ...
...
_getIconPath(name: string, size: string): string {
switch (this.version) {
case 'current':
return `${stuff.rootPath()}/current/icn-${name}-${size}.svg`;
default:
return `${stuff.rootPath()}/legacy/${name}.svg`;
}
}
...
到目前为止,我还没有找到一种干净的方法。我不确定如何在应用程序内部的构建时访问应用程序配置。
答案 0 :(得分:2)
你可以使用像gulp-inject-scripts这样的东西。 https://www.npmjs.com/package/gulp-inject-scripts
实施例
var gulp = require('gulp');
var injectScripts = require('gulp-inject-scripts');
gulp.task('inject:script', function(){
return gulp.src('./demo/src/*.html')
.pipe(injectScripts({
baseDir "./demo/dist" // SET BASE DIRECTORY
}))
.pipe(gulp.dest('./demo/dist'));
});