使用package.json构建一个js项目

时间:2018-09-19 15:19:13

标签: javascript node.js npm

我有两个分别说A和B的js项目,在项目A的packge.json中,我正在跟踪脚本

 "scripts": {
"start": "webpack-dev-server --https --content-base dist/",
"doc": "n-clean docs && jsdoc --package package.json -c 
 ./jsdoc.config.json",
"clean": "n-clean dist",
"build:dev": "webpack --config webpack.config.js",
"build:prod": "webpack --config webpack.config.js --env.production",
"build": "npm run clean && npm run build:dev && npm run build:prod && npm run doc"

}

当我运行npm run build时,我在项目A的dist文件夹中得到了一个捆绑包js。

在B的项目中,我具有以下用于脚本的package.json。

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"serve": "grunt serve --port=9090 --https=true",
"build": "grunt build --production=true"   

}

因此,我可以通过运行npm run build来构建项目B。但是我可以在构建Poject A之后构建Project B(即它应该在A的dist文件夹中创建捆绑包),并在Project B的package.json中添加以下命令 “ build”:“ npm run build ../A”以及项目B的构建。因此,请帮助我如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

是的,您绝对可以将Project B的文件构建到Project A的dist文件夹中。

您必须修改Webpack的配置文件,通常称为webpack.config.js

在项目B的webpack.config文件中,您必须告诉webpack输出路径。您可以通过添加以下代码行来实现:

module.exports = {
  //...
  output: {
    path: path.resolve(__dirname, '<Path to Project A dist folder>')
  }
};

希望这会有所帮助!

根据在项目B中建立项目A进行编辑:

是的,您需要修改Project B的webpack.config.js文件。

您可以在该文件中将多个入口点定义为

module.exports = {
  entry: {
    ProjectA: './path/to/my/entry/fileA.js',
    ProjectB: './path/to/my/entry/fileB.js',
  }
};

就像您可以将入口点从ProjectA的webpack.config.js文件复制到Project B的一样。