【发布时间】:2017-11-05 04:59:46
【问题描述】:
在发布到 npm 之前,我编写了一些构建 ./lib 目录的 npm 脚本。
1.脚本负责将./src/components/中的所有es6*.js文件转换为es5语法,然后将文件复制到./lib(结构相同)。
这是脚本:
"cross-env NODE_ENV=production babel ./src/components --out-dir ./lib --ignore spec.js --copy-files"
这是.babelrc 文件:
{
"presets": [
"react",
"stage-1"
],
"env": {
"development": {
"presets": [
"latest",
"react-hmre"
]
},
"production": {
"presets": [
[
"latest",
"es2015"
]
],
"plugins": [
"transform-react-constant-elements",
"transform-react-remove-prop-types",
[
"transform-imports",
{
"react-bootstrap": {
"transform": "react-bootstrap/lib/${member}",
"preventFullImport": true
},
"lodash": {
"transform": "lodash/${member}",
"preventFullImport": true
}
}
]
]
},
"test": {
"presets": [
"latest"
]
}
}
}
我有另一个脚本负责将.less 文件转换为.css 并将它们复制到./lib(相同的结构):
"lessc-glob ./src/components/**/*.less lib"
一切都按预期进行,但我现在有一个问题。我在.js 文件中的import 指的是.less 文件,但我需要将其更改为.css 扩展名。
为了清楚起见,
我现在拥有的是:
import css from './styles.less';
转换成这个:
var _styles = require('./styles.less');
但我希望它转换成这个:
var _styles = require('./styles.css');
【问题讨论】:
标签: javascript node.js reactjs babeljs npm-scripts