장고 응용 프로그램이 있고 장고의 i18n 모듈을 사용하여 문자열 번역에 도움이됩니다. 자바 스크립트를 번역 할 때 나는 표시된 문자열을 모두 .po 파일에 추가하여Webpack TypeScript 및 xgettext 번역
python manage.py makemessages -d djangojs
을 실행합니다. 이것은 내 정적 폴더의 모든 지루한 .js 파일에 대해 아주 잘 작동합니다. 그러나 webpack을 사용하여 일부 타이프 스크립트 (.tsx 파일)를 bundle.js 파일로 압축하기 시작했습니다. 이 파일은 빌드 후 정적 폴더에 복사되므로 Djangos makemessages
에서 문자열을 가져올 것으로 예상됩니다. 그러나 bundle.js의 코드 대부분이 eval()
에 래핑 된 문자열이기 때문에 문자열이 올바르게 구문 분석되지 않는 것으로 보입니다. bundle.js 파일에 추가 - -
나는 이것이 내가에 웹팩을해야한다는 것을 의미 믿습니다 장고의 makemessages
가 제대로 구문 분석 할 수 있도록 eval()
넌센스의 모든없이 각 .tsx 파일은 .js 파일을 만듭니다. 그러나 나는 이것을 어떻게하는지 모른다. 나의 현재 설정은 어떻게 내가 웹팩이 파일을 뱉어 할 수 있습니다이
var path = require("path");
var WebpackShellPlugin = require('webpack-shell-plugin');
var config = {
entry: ["./src/App.tsx"],
output: {
path: path.resolve(__dirname, "build"),
filename: "bundle.js"
},
devtool: 'source-map',
resolve: {
extensions: [".ts", ".tsx", ".js"]
},
module: {
rules: [
{
test: /\.tsx?$/,
loader: "ts-loader",
exclude: /node_modules/
},
{
test: /\.scss$/,
use: [{
loader: "style-loader" // creates style nodes from JS strings
}, {
loader: "css-loader" // translates CSS into CommonJS
}, {
loader: "sass-loader" // compiles Sass to CSS
}]
},
{
test: /\.css$/,
loader: 'style-loader!css-loader'
}
]
},
plugins: [
new WebpackShellPlugin({
onBuildEnd:['./cp_to_static.sh'],
dev: false // Needed to trigger on npm run watch
})
]
};
module.exports = config;
- 처럼 보인다?
- 이게 옳은 일입니까, 아니면 Django가 bundle.js를 제대로 파싱 할 수있는 방법입니까?