在使用webpack构建angularjs后,如何指向资产和html angular templates文件夹?
我是webpack新手,我已将webpack配置为index.html文件和budle.js文件位于/dist文件夹的工作状态。我知道我也可以构建css文件,但现在我想构建js并运行应用程序。请检查所附图片,以便更好地了解目录结构和网页包生成配置。在使用webpack构建angularjs后,如何指向资产和html angular templates文件夹?,angularjs,webpack,build,webpack-dev-server,Angularjs,Webpack,Build,Webpack Dev Server,我是webpack新手,我已将webpack配置为index.html文件和budle.js文件位于/dist文件夹的工作状态。我知道我也可以构建css文件,但现在我想构建js并运行应用程序。请检查所附图片,以便更好地了解目录结构和网页包生成配置。 我的疑问是,如果我从dist文件夹运行应用程序,我将丢失所有角度模板路径和图像路径等。我如何克服这种情况?非常感谢您的帮助。首先,您需要知道,目标是在构建后在/dist/内部有一个完全可运行的独立应用程序。运行应用程序所需的所有源文件都应放在那里
我的疑问是,如果我从dist文件夹运行应用程序,我将丢失所有角度模板路径和图像路径等。我如何克服这种情况?非常感谢您的帮助。首先,您需要知道,目标是在构建后在
/dist/
内部有一个完全可运行的独立应用程序。运行应用程序所需的所有源文件都应放在那里。这样,您就可以根据您的/dist/
目录,通过复制/上传/或任何方式分发应用程序。项目中的所有其他目录仅用于开发。这些将不是您的分发包的一部分
错误方法:试图更改应用程序中的包含路径
您需要将源文件(静态文件)复制或压缩到分发文件夹中。我真的不知道为什么视图/模板不存储在/app/assets/
中,也不存储在/app/views/
中,因为/app/views/
应该是存储视图的正确路径。嗯,您需要复制静态源文件。例如:你可以使用
您的网页包配置最终可能如下所示:
var CopyWebpackPlugin = require('copy-webpack-plugin');
var path = require('path');
module.exports = {
context: path.join(__dirname, 'app'),
devServer: {
// This is required for older versions of webpack-dev-server
// if you use absolute 'to' paths. The path should be an
// absolute path to your build destination.
outputPath: path.join(__dirname, 'dist')
},
plugins: [
new CopyWebpackPlugin([
{
from: 'assets/**/*',
to: 'assets/'
},
{
from: 'views/**/*',
to: 'views/'
},
], {
ignore: [
],
// By default, we only copy modified files during
// a watch or webpack-dev-server build. Setting this
// to `true` copies all files.
copyUnmodified: true
})
]
};
很抱歉图像中的混乱。。“资产”文件夹中的html文件是由html开发人员提供的,我已将所有角度html模板存储在aossiative modules文件夹或views文件夹中。@Ramezrami Ok,更新了我的答案。对不起,我不能给你一个完整的可运行的网页配置。这只是一种方法。它对您有帮助吗?现在下一个问题是,我还必须将我的“/组件”、“/指令”之类的文件夹复制到dist,对吗?我无法完全复制所有目录,因为这些文件夹中的JS文件已经添加。。你知道有什么方法可以通过复制网页只过滤html文件吗-plugin@RameezRami您需要复制所有未通过网页配置中的required()
导入的静态文件。您可以使用组件/***/*.HTML
复制所有HTML文件。我希望这将帮助你解决你的问题。很高兴帮助你。您可能会阅读有关使用WebPack的基础知识。这些基本的常见问题解答将对您有很大帮助。非常感谢您。。我真的很感激你为帮助我所做的努力。另外,您的示例代码工作起来很有魅力。。我忘了设置config.context=path.join(uu dirname,'app');这就是它不起作用的原因。嗨,拉梅兹。关于,您会修复它并取消删除它吗?如果是这样,我将放弃投票。所有大写字母和txtspk“plz”都很容易修复,而且似乎没有必要丢失内容。