最近在开发一个展示3D模型的WEB程序,在工程中使用了VUE和ThreeJS库。Three.js本身是支持CommonJS的,但我们还用到了OBJLoader模块,此模块不支持CommonJS,改成CommonJS比较麻烦(真相是懒综合症发作)。这样的话,只有用常规的html引入js文件的方式来解决这个问题。为了阐述方便,本文使用一个简单例子来展示整个解决方案。
这就本文所用到的例子工程,我们在HelloWorld.vue中的mounted方法里调用了外部引入的方法'testLib。
首先,我们在项目目录里创建一个libs子目录,在libs目录中添加test.js文件。
然后打开build目录下的webpack.dev.conf.js文件,找到CopyWebpackPlugin,按下图所示增加一个copy动作,从..libs拷贝到与index.html的同一目录下。对webpack.prod.conf.js也做如下修改。
运行npm run dev后,浏览器打开localhost:8080,你会发现在浏览器Console栏,‘this is test’被打印出来。
运行npm run build, test.js和index.html都放在了dist目录下。
这个设置其实不止在VUE下有用,在其他以webpack为模板的工程中都可以使用。