如何正确地将node_modules移动到其他位置

时间:2016-05-28 17:42:18

标签: angularjs node.js angular node-modules

我正在尝试将我的node_modules移动到另一个位置,我所做的是删除了node_modules并将package.json移动到我希望它安装的位置,然后我运行了安装了node_modules的npm install我想要的地方,但现在,如果我运行npm start,服务器启动,我会收到很多错误:

(index):5 GET http://localhost:3000/node_modules/bootstrap/dist/css/bootstrap.min.css 
(index):9 GET http://localhost:3000/node_modules/es6-shim/es6-shim.min.js 
(index):10 GET http://localhost:3000/node_modules/systemjs/dist/system-polyfills.js 
(index):12 GET http://localhost:3000/node_modules/angular2/bundles/angular2-polyfills.js 
(index):13 GET http://localhost:3000/node_modules/systemjs/dist/system.src.js 
(index):14 GET http://localhost:3000/node_modules/rxjs/bundles/Rx.js 
(index):15 GET http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js 
(index):16 GET http://localhost:3000/node_modules/angular2/bundles/http.dev.js 
(index):21 Uncaught ReferenceError: System is not defined(anonymous function) @ (index):21

我更新了index.html文件,以使用root node_modules中的文件而不是当前dir的node_modules。

我还应该做些什么才能让它发挥作用?

请注意,index.html与node_modules

位于不同的目录中

1 个答案:

答案 0 :(得分:2)

解决方案如下:

  1. 在您拥有 package.json 文件的同一目录中创建 bs-config.json 文件
  2. 将以下json放在 bs-config.json 文件中:

    {     “server”:{         “baseDir”:“path / to / your / base / dir / where / you / have / / index.html / of / your / app”,         “路线”:{             “/ node_modules”:“/ path / to / node / modules / relative / to / this / file”         }     }

  3. 修改 package.json 文件"lite": "lite-server --c bs-config.json"

  4. 运行npm start,它将像魔术一样工作:D